2

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

但是,我无法找到有关可用于某些事物的非自定义属性的信息/列表。就像我可以拥有的财产一样<EditorBrowsable(EditorBrowsableState.Always), Description("My properties description")>

如何找出哪些非自定义属性已经可用于哪些事物(例如函数、属性、类等)?

4

1 回答 1

3

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

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

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

于 2013-09-04T14:28:48.333 回答