(C#学习)Attribute:AttributeUsage和反射

Attribute(特性)

Attribute类将预定义的系统信息或用户定义的自定义信息与目标元素关联起来。
目标元素可以是程序集、类、构造函数、委托、枚举、事件、字段、接口、方法、可移植的可执行文件模块、参数、属性、返回值、结构或其他属性。

Attribute是C#的一种语言特性,用于为各种实体(Class,field,property)附加一些说明性信息,并且可以在运行时环境中检索这些信息(通过反射方式)。

1.AttributeUsage

AttributeUsage是Attribute的Attribute,用于给自定义的Attribute加一些限定。

  • AttributeTargets
    AttributeTargets指定你这个attribute限制用于哪类实体上,在这里,实体是指:class、method、constructor、property、field、GenericParameter或者用All,表明可用于所有实体,具体使用方法如:
    AttributeTargets.Class 表示这个属性可用于Class。
  • AllowMultiple
    AllowMultiple表明了这个attribute可否多次应用于同一个实体,默认为false
  • Inherited
    Inherited表明这个attribute是否可以被继承传递,既子类或子类从父类继承的成员是否带有这个Attribute,默认为true。

2.反射

Reflection,是审查元数据并手机关于它的类型信息的能力。元数据。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值