阅读量:4
在C#中,AttributeUsage特性用于指定自定义属性可以应用于哪些程序元素。它有三个参数:
- ValidOn:指定自定义属性可以应用于哪些程序元素,如类、方法、属性等。可以使用多个值,用逗号分隔。
- AllowMultiple:指定是否允许在同一个程序元素上多次应用该自定义属性。默认值为false。
- Inherited:指定是否允许派生类继承该自定义属性。默认值为false。
下面是一个使用AttributeUsage特性的示例:
using System; [AttributeUsage(AttributeTargets.Class, Inherited = false)] public class MyAttribute : Attribute { public MyAttribute() { Console.WriteLine("MyAttribute constructor"); } } [My] public class MyClass { public void MyMethod() { Console.WriteLine("MyMethod"); } } class Program { static void Main() { MyClass myClass = new MyClass(); } }
在这个示例中,MyAttribute特性只能应用于类,并且不允许派生类继承该特性。当实例化MyClass类时,会输出"MyAttribute constructor"。