2.1 基于运行时的实现
显而易见,.NET中大多数功能都是基于运行时实现的。比如的类定义的语法、方法的调用的语法以及所有基本编程语法都有对应的IL代码,这也正是定义运行时的内容之一。所以能编译为对应专有IL代码的功能必然是基于运行时实现的。
2.2 基于编译器
基于编译器的实现,最常见的例子就是上下文using和yield。上下文using在VB.NET里干脆就没有对应的语法,C#编译器替你做了你在老版本的C#中或VB.NET里要做的工作,就是写try、finally和Dispose语句。提供基于编译器的新功能微软不需要修改运行时。
2.3 基于类库
这个太直观了,直观到拿到这里说都显得多余,都不宜与前两种并列在一起。所有的编程语言都是通过库为开发者提供强大的开发功能的,库的丰富程度最终决定一个语言的发展前景。
.NET现在常用的运行时只有2.0和4.0两个版本,3.0 和3.5都是2.0的运行时;4.5的运行时是4.0,它是在编译器功能和类库上对4.0的扩展。
浙公网安备 33010602011771号