定制attribute

     利用定制attribute,可以声明性地为自己的代码构造添加注解,从而实现一些特殊功能。定制attribute允许将定义的信息应用于几乎每一个元数据表记录项。这种可扩展的元数据信息能在运行时查询,从而动态改变代码的执行方式。

     attribute可应用于类型和成员。为类型和方法创建和应用用户自定义的attribute会带来极大的便利,但它同时要求编译器理解这些attribute,这样才能在最终的元数据中生成attribute信息。由于编译厂商一般不会发布其编译产品的源代码,所以Microsoft采取另一种机制提供对用户自定义的attribute的支持。这个机制称为定制attribute.它的功能很强大,在应用程序的设计时和运行时都能发挥重要的作用。任何人都能定义和使用定制attribute。另外,设计面向CLR的所有编译器时,都要求必须识别定制attribute,并能在最终的元数据中生成它们。

     关于自定义attribute,首先应该知道的是,它们只是将一些附加信息与某个目标元素关联起来的方式。编译器在托管模块的元数据中生成这些额外的信息。大多数attribute对编译器来说没有意义,编译器只是在源代码中检测attribute,并生成对应的元数据。

    在C#中,为了将一个定制attribute应用于一个目标元素,需要将attribute放置于目标元素前面的一对方括号中。每种编程语言都定义了将一个定制attribute应用于目标元素时采用的语法。C#只许将attribute应用于对以下任何一个目标元素进行定义的源代码:程序集、模块、类型(类、结构、枚举、接口、委托)、字段、方法(含构造器)、方法参数、方法返回值、属性(Property)、事件和泛型类型参数。

转载于:https://www.cnblogs.com/xuezhi/archive/2013/02/04/2891527.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值