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。