我知道属性非常有用。有一些预定义的属性,例如[Browsable(false)],它允许您在财产选项卡中隐藏财产。下面是一个解释属性的好问题:.NET中的属性是什么?

您在项目中实际使用的预定义属性(及其名称空间)是什么?


当前回答

[XmlIgnore]

因为这允许您忽略(在任何xml序列化中)“父”对象,否则在保存时会导致异常。

其他回答

// on configuration sections
[ConfigurationProperty] 

// in asp.net
[NotifyParentProperty(true)]

如果我要进行代码覆盖率爬网,我认为这两个将是最好的:

 [Serializable]
 [WebMethod]

我发现[DefaultValue]非常有用。

[TypeConverter(typeof(ExpandableObjectConverter))]

告诉设计器展开财产,这些属性是(控件的)类

[Obfuscation]

指示混淆工具对程序集、类型或成员执行指定的操作。(尽管通常使用程序集级别[Assembly:ObfuscateAssemblyAttribute(true)]

我总是使用属性,[Serializable]、[WebMethod]、[DefaultValue]、[Description(此处为“Description”)]。

但除此之外,c#中还有一个全局属性。

[assembly: System.CLSCompliant(true)]
[assembly: AssemblyCulture("")]
[assembly: AssemblyDescription("")]