在C#中,AttributeUsage特性用于指定自定义属性可以应用于哪些程序元素。它有三个参数:
下面是一个使用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"。