C#的Attribute:
特性 是运行时传递程序中各个元素(类常量,变量,函数,类,枚举)的 标签,在栗子中就是传递元素前面中括号[ ]内的描述:
[Attribute (规定必须信息,规定可选信息,规定可选信息……)] element
.Net框架提供两大类特性:预定义特性 自定义特性
预定义特性 :AttributeUsage、Conditional、Obsolete
1、AttributeUsage
[AttributeUsage(
validon,
AllowMultiple=allowmultiple,
Inherited=inherited
)]
validon(必须): 规定特性可被放置的语言元素,他是枚举器: Attribute Targets的值的组合,默认是Atrribute.all
allowmultiple (可选):一个布尔值, true:该特性是多用的,false:该特性是单用的。
inherited(可选):一个布尔值,true:该特性可被派生类继承,false:不可
栗子
//一个只能被放置:类,构造函数,字段,方法,属性 的多用特性
[AttributeUsage(AttributeTargets.Class |
AttributeTargets.Constructor |
AttributeTargets.Field |
AttributeTargets.Method |
AttributeTargets.Property,
AllowMultiple = true)]
2、Conditional
该特性标记了一个条件方法, 根据指定的预处理标识符 进行条件编译