我知道属性非常有用。有一些预定义的属性,例如[Browsable(false)],它允许您在财产选项卡中隐藏财产。下面是一个解释属性的好问题:.NET中的属性是什么?
您在项目中实际使用的预定义属性(及其名称空间)是什么?
我知道属性非常有用。有一些预定义的属性,例如[Browsable(false)],它允许您在财产选项卡中隐藏财产。下面是一个解释属性的好问题:.NET中的属性是什么?
您在项目中实际使用的预定义属性(及其名称空间)是什么?
当前回答
我最近一直在使用[DataObjectMethod]。它描述了方法,因此您可以将类与ObjectDataSource(或其他控件)一起使用。
[DataObjectMethod(DataObjectMethodType.Select)]
[DataObjectMethod(DataObjectMethodType.Delete)]
[DataObjectMethod(DataObjectMethodType.Update)]
[DataObjectMethod(DataObjectMethodType.Insert)]
更多信息
其他回答
当您在调试期间将鼠标悬停在Type的实例上时,[DuggerDisplay]对于快速查看该类型的自定义输出非常有用。例子:
[DebuggerDisplay("FirstName={FirstName}, LastName={LastName}")]
class Customer
{
public string FirstName;
public string LastName;
}
这是它在调试器中的外观:
此外,值得一提的是,设置了CacheDuration属性的[WebMethod]属性可以避免不必要地执行web服务方法。
值得一提的是,这里列出了所有.NET属性。有几百个。
我不知道其他人,但我有一些严肃的RTF要做!
我使用最多的属性是与XML序列化相关的属性。
XmlRoot
Xml元素
XmlAttribute
等
在进行任何快速而肮脏的XML解析或序列化时非常有用。
如果项目不在您的解决方案中,[EditorBrowsable(EditorBrowsableState.Never)]允许您对IntelliSense隐藏财产和方法。非常有助于隐藏流畅接口的无效流。您希望多长时间使用GetHashCode()或Equals()?
对于MVC,[ActionName(“Name”)]允许您使用相同的方法签名进行Get操作和Post操作,或者在操作名称中使用破折号,否则,如果不为其创建路由,就无法实现这一点。
[XmlIgnore]
因为这允许您忽略(在任何xml序列化中)“父”对象,否则在保存时会导致异常。