AttributeUsage是C#中的一个特性类,用于定义自定义属性的使用方式。
AttributeUsage的构造函数有一个参数,即AttributeTargets枚举类型。AttributeTargets枚举定义了自定义属性可以应用于的目标对象,如类、方法、属性等。
以下是AttributeUsage的几个常用的使用方式:
- 应用于类:
[AttributeUsage(AttributeTargets.Class)] public class CustomAttribute : Attribute { // 属性的定义 }
在这个示例中,CustomAttribute只能应用于类。
- 应用于方法:
[AttributeUsage(AttributeTargets.Method)] public class CustomAttribute : Attribute { // 属性的定义 }
在这个示例中,CustomAttribute只能应用于方法。
- 应用于属性:
[AttributeUsage(AttributeTargets.Property)] public class CustomAttribute : Attribute { // 属性的定义 }
在这个示例中,CustomAttribute只能应用于属性。
- 应用于多个目标对象:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)] public class CustomAttribute : Attribute { // 属性的定义 }
在这个示例中,CustomAttribute可以应用于类和方法。
需要注意的是,AttributeUsage还有两个可选的命名参数:Inherited和AllowMultiple。Inherited表示派生类是否继承该特性,默认值为true;AllowMultiple表示一个目标对象是否可以应用多次该特性,默认值为false。