.net - DLR 是如何工作的?

标签 .net dynamic-language-runtime

.Net 4 将具有 DLR(动态语言运行时)。我知道它将用于 Iron Python 和 Iron Ruby 之类的东西。但这就是它的全部好处吗?

DLR 有什么用处?

DLR 是如何工作的?

最佳答案

它有助于让开发人员更轻松地构建动态语言,动态语言与 CLR 和动态语言(基于 DLR 构建)之间的兼容性。

DLR 建立在顶级 CLR 之上,因此您将能够访问其他 .Net 库。多语言支持使您能够为正确的任务选择正确的语言。 DLR 允许开发人员更轻松地create your own dynamic language (我认为这是很多开发人员的梦想)

它使用动态代码生成(运行时代码生成)Dynamic Type System (在运行时更改类型,让 DLR 语言拥有一个通用的通信平台)Dynamic Method Dispatch (动态分派(dispatch)能够动态地更改在运行时为方法执行的代码)。

基本上 DLR 根据表达式树动态生成代码。表达式树是发送到 DLR 以编译和运行的操作列表。

我认为 DLR 将改变游戏规则。 DLR 发布后,我认为您会看到大量新语言涌现,以及现有语言的更多端口。

关于.net - DLR 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/655194/

相关文章:

C# 数组索引越界错误

.net - 创建WCF Web服务实例时发生InvalidOperationException

c# - 在显示其他表单时禁用完整表单

c# - 在非静态类中,如何保留在多个不同类中同时调用的静态方法中使用的静态变量的值

c# - 是否可以在同一应用程序中同时使用 IronPython 和 IronRuby?

c# - 没有参数的方法如何分配给 ExpandoObject?

IronPython 中质量评估表达式的性能

c# - 如何为 WCF 指定自定义 SoapAction

c# - DLR 返回类型

c# - 对对象使用 C# 动态方法