在MSDN中,Attribute被定义为“是被指定给某一声明的一则附加的声明性信息”。 我们可以通过Attribute来定义设计层面的信息以及运行时(run-time)信息,也可以利用Attribute建立自描述(self-describing)组件。通过使用Attribute,可以对元数据进行扩展,.NET Framework允许在编译文件中声明特定种类的元数据(称为Attribute)。在整个 .NET Framework 中到处都可以发现Attribute的存在,Attribute用于更精确地控制运行时程序如何工作。另外,用户可以通过自定义属性向 .NET Framework 文件发出用户自己的自定义元数据。不管是.Net Framework提供的Attribute,还是用户自定义Attribute,都是通过[]施加到目标元素上。虽然Attribute的用法与通常的 类型不一样,但在.Net内部,Attribute本质上还是一个类。但是,Attribute类的实例化发生在编译时,而非运行时,因而达到了扩展元数 据的目的。一个Attribute的多个实例可应用于同一个目标元素;并且Attribute可由从目标元素派生的元素继承。

Attribute与元数据的更多相关文章

  1. .NET:Attribute 入门(内训教程)

    背景 接触过的语言中,C#(.NET 平台的多数语言都支持).Java 和 Python 都支持这个特性,本文重点介绍 C# 中的应用,这里简单的对 C#.java 和 Python 中的 Attri ...

  2. 【学】SoapExtension 学习

    http://msdn.microsoft.com/zh-cn/library/System.Web.Services.Protocols.SoapExtension_methods(v=vs.80) ...

  3. C#的157个建议--读书笔记(一)

    操作符的重载 ----实现类对象可以像值类型那样进行操作符的操作 实现比较器(IComparable)---实现对象的排序方式 协变:让返回值类型返回比声明的类型派生程度更大的类型:协变支持的两种方式 ...

  4. 仅反射加载(ReflectionOnlyLoadFrom)的 .NET 程序集,如何反射获取它的 Attribute 元数据呢?

    原文:仅反射加载(ReflectionOnlyLoadFrom)的 .NET 程序集,如何反射获取它的 Attribute 元数据呢? 平时我们获取一个程序集或者类型的 Attribute 是非常轻松 ...

  5. [C#] C# 知识回顾 - 特性 Attribute

    C# 知识回顾 - 特性 Attribute [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5911289.html 目录 特性简介 使用特性 特性 ...

  6. 运用Mono.Cecil 反射读取.NET程序集元数据

    CLR自带的反射机智和API可以很轻松的读取.NET程序集信息,但是不能对程序集进行修改.CLR提供的是只读的API,但是开源项目Mono.Cecil不仅仅可以读取.NET程序集的元数据,还可以进行修 ...

  7. ASP.NET MVC Model元数据(五)

    ASP.NET MVC Model元数据(五) 前言 在上一篇中我们描述了应用于Model上面的各种用于显示控制的特性类,在本篇中将详细的介绍这些特性类的应用,虽然它们跟Model元数据的直接关系并不 ...

  8. ASP.NET MVC Model元数据(四)

    ASP.NET MVC Model元数据(四) 前言 前面的篇幅讲解了Model元数据生成的过程,并没有对Model元数据生成过程的内部和Model元数据结构的详细解释.看完本篇后将会对Model元数 ...

  9. ASP.NET MVC Model元数据(二)

    ASP.NET MVC Model元数据(二) 前言 在上篇中,给大家留个对Model元数据的印象,并没有对Model元数据有过多的讲解,而在本篇中也不会对Model元数据的本身来解释,而是针对于它的 ...

随机推荐

  1. 彻底解决WP的TextBox中文字过长显示不出来的问题

    文字如果过长的话在TextBox中会显示不完全,这个大家都知道了,后来有人做了ExTextblock增强控件,大部分文字是可以显示出来了,不过,在某些情况下还是会有显示不全的情况. 这个时候一个解决方 ...

  2. L198

    One of the most common birth defects throughout the world is a cleft lip. Babies born with a cleft l ...

  3. html5 实现简单的上传

    简单记录下今早做H5上传中一些代码还有坑 一.展示 因为前端上传文件是必须通过form表单的,不能使用ajax,这样的话一个移动页面放入一个type为file的input真心不怎么好看,如下图,很挫有 ...

  4. ImageNet 历届冠军最新评析:哪个深度学习模型最适合你?

    原文链接: https://mp.weixin.qq.com/s/I5XgYrPCCGyfV2qTI0sJhQ 深度神经网络自出现以来,已经成为计算机视觉领域一项举足轻重的技术.其中,ImageNet ...

  5. iOS-----使用GCD实现多线程

    使用GCD实现多线程 GCD的两个核心概念如下: 队列 队列负责管理开发者提交的任务,GCD队列始终以FIFO(先进先出)的方式来处理任务---但 由于任务的执行时间并不相同,因此先处理的任务并一定先 ...

  6. Yii在window下的安装方法

    首先,在http://www.yiichina.com/上下载yii 然后,配置系统环境变量,在win8下,按win+x,找到系统->高级系统设置->环境变量->path 把php的 ...

  7. C# 根据twitter的snowflake算法生成唯一ID

    C# 版算法: using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  8. [CF321E]Ciel and Gondolas&&[BZOJ5311]贞鱼

    codeforces bzoj description 有\(n\)个人要坐\(k\)辆车.如果第\(i\)个人和第\(j\)个人同坐一辆车,就会产生\(w_{i,j}\)的代价. 求最小化代价.\( ...

  9. TypeScript学习笔记(八) - 声明文件

    本篇将介绍TypeScript的声明文件,并简单演示一下如何编写和使用声明文件.本篇也是这个系列的最后一篇. 一.声明文件简介 TypeScript作为JavaScript的超集,在开发过程中不可避免 ...

  10. streamsets 错误记录处理

    我们可以在stage 级别,或者piepline 级别进行error 处理配置 pipeline的错误记录处理 discard(丢踢) send response to Origin pipeline ...