关于类型:
.NET3.0之前:
一个.NET类型只有一个主定义。
.NET3.0之后:
一个.NET类型只有一个主定义,但可以有若干个扩展定义
关于DLR:
在底层DLR使用和CLR相同的静态类型系统,但DLR在CLR的类型系统之上定义了一个代理层,在此代理层DLR会管理自己的类型系统映射,并且通过此代理层的动态分发机制来实现动态方法选择;而DLR的另一个主要功能动态代码生成则由动态语言的解释器配合DLR的抽象语法树来实现,首先由动态语言的解释器对动态语言脚本进行词法分析、语法分析、语义分析,再根据语义分析的结果生成DLR的抽象语法树,然后编译执行。