.NET类型系统与DLR

关于类型:

  .NET3.0之前:

    一个.NET类型只有一个主定义。

  .NET3.0之后:

    一个.NET类型只有一个主定义,但可以有若干个扩展定义

关于DLR:

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

 

你可能感兴趣的:(.net)