重读Jeffery先生的《.Net框架程序设计》这本书,发现他对.Net中某些关键元素的总结真的很值得读者回味。以下是Jeffer先生对元数据给.Net应用程序带来优势的总结。
元数据省去了源代码编译时对头文件的依赖,这是因为在含有实现类型和成员的IL代码文件当中,已经包含了所有被引用的类型和成员的信息。编译器可以直接从托管模块中读取元数据来获得这些信息。
vs.net可以利用元数据来辅助我们编写代码。它的智能感知特性就是通过分析元数据来告诉我们某个类型提供了哪些方法,以及以这些方法有哪些参数。
CLR的代码验证过程可以利用元数据来确保代码仅执行“安全”的操作。
利用元数据,我们可以将一个对象的字段序列化到一个内存块中,然后远程传送给另一台机器,最后再在远程计算机上执行反序列化,从而重新创建对象和他的状态(我想这里Jeffery先生可能指的是通过元数据可以获取到对象的布局,进而可以序列化它,而和远程不远程的没有什么关系)。
利用元数据,垃圾收集器要吧追踪对象的生存周期。对于任何对象,垃圾收集器都能够通过元数据来确定该对象的类型,并且可以获知该对象的哪些字段引用了其它的对象(美妙的元数据)。