导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

AttributeTargets 枚举

2013/12/13

指定可以对它们应用特性的应用程序元素。

此枚举具有一个 FlagsAttribute 属性,该属性允许对其成员值进行按位组合。

Namespace:  System
程序集:  mscorlib(位于 mscorlib.dll 中)

[FlagsAttribute]
public enum AttributeTargets

成员名称说明
All可以对任何应用程序元素应用特性。
Assembly可以对程序集应用特性。
Class可以对类应用特性。
Constructor可以对构造函数应用特性。
Delegate可以对委托应用特性。
Enum可以对枚举应用特性。
Event可以对事件应用特性。
Field可以对字段应用特性。
GenericParameter可以对泛型参数应用特性。
说明注意:
目前,此特性可以应用仅于 C#、Microsoft 中间语言 (MSIL) 和发出的代码。
Interface可以对接口应用特性。
Method可以对方法应用特性。
Module可以对模块应用特性。
说明注意:
Module 指的是可移植的可执行文件(.dll 或 .exe),而非 Visual Basic 标准模块。
Parameter可以对参数应用特性。
Property可以对属性应用特性。
ReturnValue可以对返回值应用特性。
Struct可以对结构应用特性,即值类型。

AttributeUsageAttribute 类使用此枚举指定可以对其应用特性的元素类型。

可以通过按位“或”运算组合 AttributeTargets 枚举值来获得首选组合。

下面的示例演示了到不同目标的特性的应用。

说明注意:

Visual Basic 语法目前不支持将属性应用于类型参数。


using System;

namespace AttTargsCS {
    // This attribute is only valid on a class.
    [AttributeUsage(AttributeTargets.Class)]
    public class ClassTargetAttribute : Attribute {
    }

    // This attribute is only valid on a method.
    [AttributeUsage(AttributeTargets.Method)]
    public class MethodTargetAttribute : Attribute {
    }

    // This attribute is only valid on a constructor.
    [AttributeUsage(AttributeTargets.Constructor)]
    public class ConstructorTargetAttribute : Attribute {
    }

    // This attribute is only valid on a field.
    [AttributeUsage(AttributeTargets.Field)]
    public class FieldTargetAttribute : Attribute {
    }

    // This attribute is valid on a class or a method.
    [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method)]
    public class ClassMethodTargetAttribute : Attribute {
    }

    // This attribute is valid on a generic type parameter.
    [AttributeUsage(AttributeTargets.GenericParameter)]
    public class GenericParameterTargetAttribute : Attribute {
    }

    // This attribute is valid on any target.
    [AttributeUsage(AttributeTargets.All)]
    public class AllTargetsAttribute : Attribute {
    }

    [ClassTarget]
    [ClassMethodTarget]
    [AllTargets]
    public class TestClassAttribute {
        [ConstructorTarget]
        [AllTargets]
        TestClassAttribute() {
        }

        [MethodTarget]
        [ClassMethodTarget]
        [AllTargets]
        public void Method1() {
        }

        [FieldTarget]
        [AllTargets]
        public int myInt;

        public void GenericMethod<
            [GenericParameterTarget, AllTargets] T>(T x) {
        }

        static void Main(string[] args) {
        }
    }
}


Windows Phone OS

受以下版本支持: 8.0, 7.1, 7.0

Windows Phone

显示:
© 2014 Microsoft