Attribute
Attribute
AttributeUsage
AttributeUsage 描述了如何使用一个自定义特性类。它规定了特性可应用到的项目的类型。 语法:
csharp
[AttributeUsage(validon, AllowMultiple=allowmultiple, Inherited=inherited)]参数说明:
- validon: 规定特性可被放置的语言元素。它是枚举器 AttributeTargets 的值的组合。默认值是 AttributeTargets.All。
- allowmultiple:可选的参数,为该特性的 AllowMultiple 属性(property)提供一个布尔值。如果为 true,则该特性是多用的。默认值是 false(单用的)。
- inherited:可选的参数,为该特性的 Inherited 属性(property)提供一个布尔值。如果为 true,则该特性可被派生类继承。默认值是 false(不被继承)。
示例:
csharp
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Constructor | AttributeTargets.Field | AttributeTargets.Method | AttributeTargets.Property, AllowMultiple = true)]这个预定义特性标记了一个条件方法,其执行依赖于它顶的预处理标识符。 它会引起方法调用的条件编译,取决于指定的值,比如 Debug 或 Trace。例如,当调试代码时显示变量的值。 语法:
[Conditional(`` ``conditionalSymbol``)]
csharp
public class MyAttributeAttribute : System.Attribute
{
public string product;
public string Description;
public MyAttributeAttribute(string product)
{
this.product = product;
Description = "";
}
}