所谓元数据.其实是指由微软所封装的类..这些类你可以查看.但是无法修改。

元数据是一种二进制信息,用以对存储在公共语言运行库可移植可执行文件 (PE) 文件或存储在内存中的程序进行描述。将您的代码编译为 PE 文件时,便会将元数据插入到该文件的一部分中,而将代码转换为 Microsoft 中间语言 (MSIL) 并将其插入到该文件的另一部分中。在模块或程序集中定义和引用的每个类型和成员都将在元数据中进行说明。当执行代码时,运行库将元数据加载到内存中,并引用它来发现有关代码的类、成员、继承等信息。

元数据以非特定语言的方式描述在代码中定义的每一类型和成员。元数据存储以下信息:

* 程序集的说明。
  o 标识(名称、版本、区域性、公钥)。
  o 导出的类型。
  o 该程序集所依赖的其他程序集。
  o 运行所需的安全权限。
  * 类型的说明。
  o 名称、可见性、基类和实现的接口。
  o 成员(方法、字段、属性、事件、嵌套的类型)。
  * 属性。
  o 修饰类型和成员的其他说明性元素。

元数据的优点

对于一种更简单的编程模型来说,元数据是关键,该模型不再需要接口定义语言 (IDL) 文件、头文件或任何外部组件引用方法。元数据允许 .NET 语言自动以非特定语言的方式对其自身进行描述,而这是开发人员和用户都无法看见的。另外,通过使用属性,可以对元数据进行扩展。元数据具有以下主要优点:

* 自描述文件。

公共语言运行库模块和程序集是自描述的。模块的元数据包含与另一个模块进行交互所需的全部信息。元数据自动提供 COM 中 IDL 的功能,允许将一个文件同时用于定义和实现。运行库模块和程序集甚至不需要向操作系统注册。结果,运行库使用的说明始终反映编译文件中的实际代码,从而提高应用程序的可靠性。
  * 语言互用性和更简单的基于组件的设计。

元数据提供所有必需的有关已编译代码的信息,以供您从用不同语言编写的 PE 文件中继承类。您可以创建用任何托管语言(任何面向公共语言运行库的语言)编写的任何类的实例,而不用担心显式封送处理或使用自定义的互用代码。
  * 属性。

.NET Framework 允许您在编译文件中声明特定种类的元数据(称为属性)。在整个 .NET Framework 中到处都可以发现属性的存在,属性用于更精确地控制运行时您的程序如何工作。另外,您可以通过用户定义的自定义属性向 .NET Framework 文件发出您自己的自定义元数据。

最新文章

  1. 让Redis在你的系统中发挥更大作用的几点建议
  2. webpack入坑之旅(五)加载vue单文件组件
  3. MFC的自定义消息的定义与使用
  4. LinuxShell脚本攻略--第六章 B计划
  5. 选择最适合你的Linux学习方法
  6. InitGoogleLogging坑爹
  7. Oracle中关于清除数据和释放表空间
  8. 10款基于jquery实现的超酷动画源码
  9. hdu5573 二叉树找规律,二进制相关
  10. 老李推荐:第8章3节《MonkeyRunner源码剖析》MonkeyRunner启动运行过程-启动AndroidDebugBridge 3
  11. 使用django UWSGI 出现 Bad Request (400)
  12. 北斗卫星同步时钟(NTP网络时钟服务器)成功投运世界级工程港珠澳大桥
  13. [国嵌攻略][068][tftp网络协议实现]
  14. BZOJ_3477_[Usaco2014 Mar]Sabotage_二分答案
  15. (转)python 开发 sqlite 绝对完整
  16. webpack配置使用gif动图
  17. C# 锁
  18. javadate相关
  19. OnlineJudgeServer运行
  20. 雷林鹏分享:XML 相关技术

热门文章

  1. sql学习目录
  2. WPF的逻辑树和视觉树
  3. c#中的访问修饰符Protected,privet ,public, internal,和internal protected
  4. Expression Blend实例动画-大坝水位升高演示
  5. 通过NLayer和NAudio转换MP3成WAV
  6. SignalR的简单实现(一)
  7. Centos7安装Mysql-最方便、最快捷
  8. 关于JDK和JRE的一些总结
  9. Linux上read命令的使用
  10. Java分割中英文,并且中文不能分割一半?