属性,函数等的非自定义属性是什么?

时间:2013-09-04 14:14:31

标签: vb.net attributes default

我一直在浏览网页,发现很多关于VB.NET属性的信息,创建和使用自定义属性,以及大约10个左右的非自定义属性在MSDN上列出。

但是,我无法在可用于某些事物的非自定义属性上找到信息/列表。对于属性,我可以<EditorBrowsable(EditorBrowsableState.Always), Description("My properties description")>

如何找出哪些非自定义属性可用于哪些内容(例如函数,属性,类等)?

1 个答案:

答案 0 :(得分:3)

也许,“非定制”是错误的术语。我认为您要求的是作为.NET Framework一部分包含的属性列表。当然,该列表取决于您所定位的框架版本以及您选择在项目中引用的特定框架库,但MSDN提供了相当全面的列表here

至于确定哪些属性可以应用于哪些类型的元素(例如,类,属性,方法,程序集),如果单击任何链接以查看任何属性类的MSDN页面,那么''请注意页面的语法部分,它显示了类的声明。在类声明之上,您将看到应用于属性类的AttributeUsage属性。 那是对的 - 属性本身也有属性 - 坚持我。

AttributeUsage属性的第一个参数称为ValidOn。它是AttributeTargets枚举,用于定义可以应用属性的元素类型。例如,如果属性类的AttributeUsage属性看起来像<AttributeUsage(AttributeTargets.All)>,则表示它可以应用于任何内容。但是,如果它看起来像<AttributeUsage(AttributeTargets.Class)>,则意味着它只能应用于类。