zoukankan      html  css  js  c++  java
  • 定制attribute

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

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

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

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

  • 相关阅读:
    从滴滴flinkCEP说起
    从零讲Java,给你一条清晰地学习道路!该学什么就学什么!
    从coalesce算子发散开的
    从架构理解价值-我的软件世界观
    为什么说Redis是单线程的?
    全排列_获取第几个排列_获取是第几个排列__康托展开,逆康托展开
    求排列是全排列的第几个,求第几个是全排列___康托展开,逆康托展开
    搜索入门_简单搜索bfs dfs大杂烩
    无根树同构_hash
    乘法逆元_三种方法
  • 原文地址:https://www.cnblogs.com/xuezhi/p/2891527.html
Copyright © 2011-2022 走看看