元数据概述
更新:2007 年 11 月
元数据用于描述公共语言运行库 (CLR) 在 JIT 编译 Microsoft 中间语言 (MSIL)、加载类、执行代码以及与 COM 传统型或本机领域进行交互时使用的运行库类型(类、接口和值类型)、字段、方法以及内部实现和布局信息。元数据包括在每个 CLR 组件中,并可供运行库、工具和服务使用。
对元数据的所有操作都通过元数据 API 执行,该 API 将客户端(工具和服务)与基础数据结构隔离,实现了一种可插入的持久性格式体系结构,这种体系结构允许运行库的二进制表示形式、COM 传统型类型库和其他格式以透明方式出入内存。
元数据 API 包括发出(即生成)和导入元数据的接口。客户端可通过下列方式发出或导入元数据:
编译器和工具通过调用“发出”API 发出元数据。元数据在编译和链接过程中发出。在生成组件或应用程序的过程中,RAD 工具将发出元数据。API 成员向内存中数据结构写入数据并从中读取数据。在保存时,这些内存中结构将被压缩并以二进制格式保存到目标编译单元(.obj 文件)、可执行 (.exe) 文件或独立元数据二进制文件中。在通过链接多个编译单元来形成 EXE 或 DLL 文件时,“发出”API 成员将提供相应的方法,用于将每个编译单元中的元数据节合并为一个集成的元数据二进制文件。
在导入元数据时,加载程序及其他运行库工具和服务将调用“导入”API 成员来获取有关组件的信息,以便可以完成加载和激活等任务。
本节内容
元数据 API 概述
提供有关元数据 API 的常规信息。元数据标记概述
提供有关用于标识抽象内容的元数据标记的信息。元数据 API 的编码约定
描述元数据 API 使用的编码约定。使用元数据 API 和标记
提供要使用元数据 API 的客户端的相关信息,并说明每个客户端如何使用元数据 API。
请参见
其他资源
Standard EMCA-335: Common Language Infrastructure (CLI)(标准 EMCA-335:公共语言基础结构 (CLI))
ECMA C# and Common Language Infrastructure Standards(ECMA C# 和公共语言基础结构标准)