我一直在网上浏览,发现了很多有关 VB.NET 属性的一般信息以及创建和使用自定义属性的信息,以及大约 10 个左右的通用非自定义属性在 MSDN 上列出。
但是,我无法找到可用于某些事物的非自定义属性的信息/列表。就像我可以拥有的属性(property) <EditorBrowsable(EditorBrowsableState.Always), Description("My properties description")>
如何找出哪些非自定义属性已可用于哪些事物(例如函数、属性、类等)?
最佳答案
也许“非定制”这个词是错误的。我认为您要求的是作为 .NET Framework 的一部分包含的属性列表。当然,该列表将取决于您所针对的框架版本以及您选择在项目中引用的特定框架库,但 MSDN 提供了相当全面的列表 here .
就确定哪些属性可以应用于哪些类型的元素(例如类、属性、方法、程序集)而言,如果您单击任何链接来查看任何属性类的 MSDN 页面,您就可以您会注意到页面的语法部分显示了类的声明。在类声明上方,您将看到 AttributeUsage
应用于属性类的属性。 没错——属性本身也可以有属性——我同意。
AttributeUsage
的第一个参数属性称为 ValidOn
。这是一个 AttributeTargets
枚举,定义可以应用该属性的元素类型。例如,如果 AttributeUsage
属性类上的属性类似于 <AttributeUsage(AttributeTargets.All)>
,这意味着它可以应用于任何事物。然而,如果它看起来像 <AttributeUsage(AttributeTargets.Class)>
,这意味着它只能应用于一个类。
关于vb.net - 属性、函数等的非自定义属性是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18616257/