在C#中,AttributeUsage类用于指定自定义属性的使用方式。它定义了自定义属性可以应用到的目标元素(如类、方法、属性等),以及自定义属性是否可以多次应用于同一目标元素。
AttributeUsage类的构造函数接受三个参数:
- validOn:指定自定义属性可以应用到的目标元素,可以是一个或多个目标元素的组合,如Class、Method等。
- AllowMultiple:指定自定义属性是否可以多次应用于同一个目标元素。
- Inherited:指定自定义属性是否可以被派生类继承。
下面是一个使用AttributeUsage类的示例:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)] public class CustomAttribute : Attribute { // 自定义属性的实现 }
在上面的示例中,CustomAttribute类在其构造函数中指定了自定义属性可以应用到类和方法上,且不允许多次应用于同一个目标元素,并且允许被派生类继承。