CLR(通用语言运行时)的核心特性是:内存管理,汇编载入,安全,异常处理,和线程同步)可用于任何编程语言。
各种编程语言在.net框架下编译的过程如下:
1、[C#源代码文件]——〉[C#编译器]——〉[托管模块(中间语言和元数据)]
2、[Basic源代码文件]——〉[Basic编译器]——〉[托管模块(中间语言和元数据)]
3、[中间语言(IL)源代码文件]——〉[IL汇编机]——〉[托管模块(中间语言和元数据)]
元数据有很多用处:主要用处如下:
1、编译器能从托管模块中直接读取元数据。
2、IDE使用元数据辅助写代码。
3、CLR代码通过元数据来验证是否类型安全。
4、元数据允许对字段系列化进入内在块,可以在远程机器上重建对象的状态。
5、元数据允许垃圾回收器追踪对象的生命周期。