Skip to content

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 = "";
        }
}

上次更新时间:

最近更新