AttributeTargets 枚举

AttributeUsage AttributeTargets

在C#的类中,有的类加上了
[AttributeUsage(AttributeTargets.Property)]
这个是起什么作用的呢?
AttributeTargets 枚举  

成员名称说明
All可以对任何应用程序元素应用属性。
Assembly可以对程序集应用属性。
Class可以对类应用属性。
Constructor可以对构造函数应用属性。
Delegate可以对委托应用属性。
Enum可以对枚举应用属性。
Event可以对事件应用属性。
Field可以对字段应用属性。
GenericParameter可以对泛型参数应用属性。
Interface可以对接口应用属性。
Method可以对方法应用属性。
Module可以对模块应用属性。
Parameter可以对参数应用属性。
Property可以对属性 (Property) 应用属性 (Attribute)。
ReturnValue可以对返回值应用属性。
Struct可以对结构应用属性,即值类型。

 下面的代码示例演示如何应用 AttributeTargets 枚举:

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 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;

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

 

转载于:https://www.cnblogs.com/gsk99/p/4994662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值