Tag: 属性

Windows窗体控件是否可以具有“仅限设计时”属性?

我希望允许我的控件的用户选择控件的许可方法。 选择来自枚举,因此他们必须选择我为他们设计的方法之一。 需要在运行时执行代码之前选择此许可证。 因此,我希望他们在设计时选择一个值。 此外,如果可以避免,我不希望此属性在运行时可写。 有没有办法让房产只在设计时提供?

Postsharp:它是如何工作的?

根据我的另一个问题的建议,我转换了引用的代码用于PostSharp: 属性: [Serializable] public sealed class InitAttribute : OnMethodBoundaryAspect { public override void OnEntry(MethodExecutionEventArgs eventArgs) { Console.Write(“Works!”); } } static class Logger { public static string _severity; public static void Init(string severity) { _severity = severity; } [Init()] public static void p() { Console.WriteLine(_severity); } } 尽管如此,我无法获得任何结果(控制台上的“Works!”)。 PostSharp属性中的断点显示永远不会输入。 任何帮助? 提前致谢。

ASP.NET MVC显示日期没有时间

我的模型字段以下列方式装饰: [DataType(DataType.Date)] [Display(Name = “Date of birth”)] public string DateOfBirth { get; set; } 当我想使用以下代码在视图中显示值时: m.DateOfBirth) %> 问题是日期与其时间值一起显示。 我想知道为什么它不考虑DateType属性并且只显示没有时间的日期值。 我知道我可以为DateTime创建一个显示模板,但在其他情况下,除了出生日期之外,我想要显示时间和日期。 如何解决问题?

通过MemberExpression获取属性类型

我在这里问类似的问题,假设这种类型: public class Product { public string Name { get; set; } public string Title { get; set; } public string Category { get; set; } public bool IsAllowed { get; set; } } 这个使用MemberExpression : public class HelperClass { public static void Property(Expression<Func> expression) { var body = expression.Body as MemberExpression; if(body == null) […]

请解释C#属性如何工作?

我已经学习了一段时间的C#,而且我在C#书中找到了属性(Head First C#)。 老实说,我不明白它们的用途,以及我为什么要使用它们。 我用Google搜索了几次,但仍然不能为我的生活理解它们。 有人可以向我解释这个外国概念吗? 谢谢, Varmitharen

在.NET中使用属性的性能开销

1 ..属性的使用是否有任何性能开销? 想想一个类: public class MyClass { int Count {get;set;} } 它有10个属性(属性是类,其中属性类本身比MyClass本身大,如: public class FirstAttribute : Attribute { int A,B,C,D,E,F,G,H,I,J … {get;set;} } 2 ..每次MyClass实例化时,其中10个属性是否是内存开销? ( FirstAttribute是MyClass大小的10倍,将使用其中的10个进行修饰,因此实际对象本身与其上装饰的属性的总大小相比非常小。)这是一个问题吗? 3 ..这种情况对于结构是否有任何不同(结构是值类型和属性是引用类型)? 4 ..存储在内存中的属性与它们所附着的对象有何关系? 他们是如何联系在一起的? 5 ..一旦初始化MyClass或使用reflection检索属性,属性是否已初始化?

访问List 中的对象属性

我正在尝试使用存储在List对象中的单个对象实例的属性,但我似乎无法直接访问属性。 我有一个对象( sportsCarVehicle ),它存储一个用户定义的名称( strVehicleName )(在其他属性中,但这并不重要)。 然后将对象存储在名为sportsCarVehicleStorage的List对象中。 我需要访问List的sportsCarVehicle每个实例, sportsCarVehicle List的值传递给strVehicleName上的combobox。 我假设我需要某种循环来遍历每个实例并将名称传递给combobox,但我的主要问题是无法访问我需要的属性。 sportsCarVehicle实例没有可引用的名称。 还有一点需要注意: sportsCarVehicle的构造函数在sportsCarVehicleStorage.Add()方法中调用。 有关如何做到这一点的任何建议?

在方法调用上生成编译错误的属性?

我想确保一个方法(在我的情况下实际上是一个构造函数)永远不会从代码中显式调用。 它应该只在运行时通过reflection调用。 为此,我想在方法上应用一个属性,如果调用该方法会产生编译器错误,如: [NotCallable(“This method mustn’t be called from code”)] public void MyMethod() { } 我知道我可以将该方法设为私有,但在这种情况下,我无法通过部分信任上下文中的reflection来调用它… 为了完整起见,这里有更多关于我为什么需要这样做的细节: 我正在实现一个可重用的Singleton类,基于Jon Skeet的文章 。 到目前为止,这是我的代码: public static class Singleton { public static T Instance { get { return LazyInitializer._instance; } } private class LazyInitializer { // Explicit static constructor to tell C# compiler // not to mark type as […]

为什么不从DB读取C#属性getter?

这个问题的一些答案和评论: 最简单的C#代码来调查一个属性? ,暗示从属性的getter中的数据库中检索数据通常是一个坏主意。 为什么这么糟糕? (如果您有自己的信息来源,请提及。) 我通常会在第一次“获取”之后将信息存储在变量中以供重用,如果这会影响您的答案。

设置匿名类型属性名称

假设我有以下代码: string SomeConst = “OtherName”; var persons = GetPersons(); //returns list of Person var q = persons.Select(p => new { SomeConst = p.Name }); 基本上我希望在q序列中使用名为OtherName而不是SomeConst的匿名类型。 我怎样才能实现这样的行为?