Tag: .net

获取“尝试使用WebAPI时未找到与名为’SampleSlashBaseService’的控制器匹配的类型”

我有一个webapi项目,其基础ApiController名为SlashBaseService: [RouteArea(“uBase”)] public abstract class SlashBaseService : ApiController { } 生成的dll用于WebForms项目中,因此我还有一个WebActivator类,其中包含以下代码来生成路由: RouteTable.Routes.MapHttpAttributeRoutes(config => { // Get all services inheriting from SlashBaseService foreach (var assembly in AppDomain.CurrentDomain.GetAssemblies()) { foreach (var type in assembly.GetTypes()) { if (type.IsSubclassOf(typeof(SlashBaseService))) { // Scan assembly config.ScanAssembly(assembly); // Skip the remaining types in this assembly break; } } } }); RouteTable.Routes.MapHttpRoute( name: […]

在C#中确定打印机的IP地址

我想使用C#(.NET 2.0)确定打印机的IP地址。 我只有Windows操作系统上设置的打印机共享名称,格式为\\PC Name\Printer Name 。 打印机是网络打印机,具有与PC不同的IP地址。 有没有人有任何指针? 在此先感谢您的帮助。 此致,安迪。

必须使用关系流畅API或数据注释显式配置此关联的主要结尾

“必须使用关系流畅的API或数据注释显式配置此关联的主要结尾。” 我在更新/迁移数据库时在entity framework4.4中收到此错误,但我不是要尝试指定1:1关系。 我想要这样的东西: public class EntityA { public int ID { get; set; } public int EntityBID { get; set; } [ForeignKey(“EntityBID”)] public virtual EntityB EntityB { get; set; } } public class EntityB { public int ID { get; set; } public Nullable PreferredEntityAID { get; set; } [ForeignKey(“PreferredEntityAID”)] public virtual EntityA PreferredEntityA […]

将围绕DataReader放置一个“using”语句关闭吗?

我经常写这样的DataReader代码: try { dr = cmd.ExecuteReader(CommandBehavior.SingleResult); while (dr.Read()) { // Do stuff } } finally { if (dr != null) { dr.Close(); } } 替换try是否安全, finally只using DataReader创建的using块? 我想知道的原因是因为在所有Microsoft示例中我都看到他们使用了一个用于连接的但总是在DataReader上显式调用Close() 。 Heres是使用DataReader检索数据的一个例子(ADO.NET) : static void HasRows(SqlConnection connection) { using (connection) { SqlCommand command = new SqlCommand( “SELECT CategoryID, CategoryName FROM Categories;”, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); […]

隐藏struct上的无参数构造函数

是否可以在c#中隐藏用户的无参数构造函数 我想强制他们总是使用带参数的构造函数 例如这个职业课程 public struct Position { private readonly int _xposn; private readonly int _yposn; public int Xposn { get { return _xposn; } } public int Yposn { get { return _yposn; } } public Position(int xposn, int yposn) { _xposn = xposn; _yposn = yposn; } } 我只希望用户能够通过指定x和y坐标来新建位置 但是,无参数构造函数始终可用 我不能把它私有化。 甚至将其定义为公开 我已经读过这个为什么我不能在.NET中为结构定义默认构造函数? 但它并没有真正的帮助 […]

是否有.NET集合接口阻止添加对象?

我有一个维护另一个类的对象列表的类。 对象列表是公共属性。 我想阻止用户直接添加和删除对象列表,如下所示: MyObject.MyListProperty.Add(object); 相反,我希望他们使用将在内部进行一些处理然后将对象添加到列表的方法。 我有一些想法: 创建List后代并覆盖添加和删除 通过属性getter返回列表的新副本(列表相对较短,不超过30个对象) 是否有一些没有添加和删除的集合界面? 编辑: 我将使用ReadOnlyCollection 。 原因是可以更新包装集合,并且只读对象中的更改将立即可见(请参阅ReadOnlyCollection和AsReadOnly() MSDN代码示例)。 这允许只读一次创建只读列表。 IEnumerable的问题是对象可以被转换回原始List然后直接操作。

获取2个列表之间的差异

我有两个列表( ListA和ListB ),这些列表的类型是相同的PersonInfo , Login字段是唯一键。 public class PersonInfo { public string Login { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public bool Active { get; set; } } 我想比较这两个列表: 我想获得ListA不可用的ListB中的项目列表 对于两个列表中可用的项目,我想从列表中获取列表( Login字段是唯一键),这两个列表之间存在差异。 示例:如果对于ListA中的Login “MyLogin”, ListA的值与ListA中的值不匹配。 “MyLogin”作为Login项的项必须是结果列表的一部分。 示例:如果特定登录的ListA和ListB之间的Age不同,则该项必须是结果的一部分 谢谢。

带有保留关键字的C#枚举

我正在使用Reflector从我的工作中打开旧的C#代码,我发现SQL类中有一个枚举,如下所示: public enum Column { bool } 您可以看到枚举是用列类型填充的。 但由于“bool”是一个保留关键字,我无法编译。 显然有人设法以某种方式编译它。 是否有类似双引号的修复或类似的东西? 谢谢!

是否可以在C#中的运行时创建/执行代码?

我知道您可以使用Emit,System.Reflection和手动创建的IL代码动态创建.NET程序集,如下所示 。 但我想知道是否有可能在正在运行的应用程序中实时动态创建和执行C#代码块。 感谢您的任何意见或想法。 编辑:据我所知,CodeDOM允许您将C#代码编译为EXE文件而不是“只是”执行它。 这里有一些背景信息以及为什么(据我所知)这对我来说不是最好的选择。 我正在创建一个必须执行这么多动态创建的代码的应用程序[用于记录 – 它用于学术研究,而不是真实世界的应用程序,因此无法避免]。 因此,创建/执行数千个动态创建的EXE并不是非常有效。 其次 – 所有动态代码片段都会返回一些难以从单独运行的EXE中读取的数据。 如果我遗失了什么,请告诉我。 至于Jon Skeet指出的DynamicMethod方法,如果有更简单的方法来编写代码本身而不是低级IL代码,那么一切都会像魅力一样。 换句话说 (非常严厉地说)我需要这样的东西: string x = “_some c# code here_”; var result = Exec(x);

.net核心石英dependency injection

如何在.net内核中配置Quartz以使用dependency injection? 我使用标准的.net核心依赖机制。 在实现IJob的类的构造函数中,我需要注入一些依赖项。