• 定制attribute


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

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

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

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

  • 相关阅读:
    libZPlay 音频编码解码器库
    C# PropertyGrid控件
    .netGDI+(转)
    (转)JITComplier、NGen.exe及.NET Native
    c# 特性/属性(Attribute) 以及使用反射查看自定义特性
    Fluent NHibernate系列文章
    Hibernate工作原理
    Orchard核心机制
    NHibernate和 FluentNHibernate
    极限编程之TDD
  • 原文地址:https://www.cnblogs.com/xuezhi/p/2891527.html
Copyright © 2020-2023  润新知