System.AttributeUsage声明一个Attribute的使用范围与使用原则。
AllowMultiple 和 Inherited 参数是可选的,所以此代码具有相同的效果:
AttributeTarget的值可以参考1。部分可取值如下:
如果 AllowMultiple 参数设置为 true,则返回特性可对单个实体应用多次。
如果 Inherited 设置为 false,则该特性不由从特性化的类派生的类继承。
Attribute.GetCustomAttribute可以获取一个类的Attribute。
[AttributeUsage(AttributeTargets.Class)]public class VersionAttribute : Attribute{public string Name { get; set; }public string Date { get; set; }public string Describtion { get; set; }}[Version(Name = "hyddd", Date = "2009-07-20", Describtion = "hyddd's class")]public class MyCode{//...}class Program{static void Main(string[] args){var info = typeof(MyCode);var classAttribute = (VersionAttribute)Attribute.GetCustomAttribute(info, typeof(VersionAttribute));Console.WriteLine(classAttribute.Name);Console.WriteLine(classAttribute.Date);Console.WriteLine(classAttribute.Describtion);}}