metadata(元数据):是一系列的特殊数据表,描述了模块中定义的内容,有部分还用来指出托管模块引用的内容。
元数据的用途:
1. 在编译时,元数据消除了对头和库文件的需求,因为与引用的类型/成员相关的所有信息都包括在用IL(Intermediate language “中间语言”)来实现类型/成员的文件中。编译器可以直接从托管模块读取元数据。
2. 微软VS 使用元数据来帮助我们写代码。它的“智能感知(IntelliSense)”特性能解释元数据,指出一个类型提供了什么方法,属性,事件和字段。如果是一个方法,还能指出方法需要什么参数。
3. CLR的代码验证过程使用元数据来确保代码只执行“安全”的操作
4. 元数据允许将一个对象的字段序列化到一个内存块中,将其发送给另外一台机器,然后反序列化,在远程机器上重建对象状态。
5. 元数据允许垃圾收集器跟踪对象的生存期。垃圾收集器能判断任何对象的类型,并根据元数据知道那个对象中的哪些字段引用了其他对象。