AttributeUsage 定义/控制自定义属性的使用

AttributeUsage 类是另一个预定义的属性类,以帮助我们控制自定义属性的使用。亦即我们可以定义自定义属性类的属性。这个类描述了如何使用自定义的属性类。AttributeUsage有三个数据属性可用以修饰我们的自定义的属性: 

ValidOn

定义了自定义属性在哪些程序实体上可被使用。这个可使用实体的列表可通过AttributeTargets枚举类型的OR操作进行设置

[AttributeUsage(AttributeTargets.Class)]
public class ClassTargetAttribute : Attribute
{

}
[ClassTarget]只能在Class上使用!

AttributeTargets的取值:

标记

用途

All

用于任何地方

Assembly

用于组合体

Class

用于类

Contructor

用于构造函数

Delegate

用于委托

Enum

用于枚举

Event

用于事件

Field

用于事件

Interface

用于接口

Method

用于方法

Module

用于模块

Parameter

用于参数

Property

用于属性

Return Value

用于返回值

Struct

用于结构

 

AllowMultiple

定义了是否可在同一个程序实体上同时使用多个属性(同一属性使用多次)进行修饰

AllowMultiple=true时,可以使用多次,AllowMultiple=false时,不能使用多次。

Inherited

定义了自定义属性的修饰是否可由被修饰类的派生类继承.

Inherited=false时,该属性类的子类不能用反射拿到该类的属性。

例:

[AttributeUsage( AllowMultiple = false)]
public class A : Attribute
{

}

public class B: A
{

}
当属性A的AllowMultiple =flase时,现在通过反射在B类上取不到A上面的属性。


 

 

转载于:https://www.cnblogs.com/ycdx2001/archive/2009/03/27/1423316.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值