DLR如何运作?

时间:2009-03-17 17:13:12

标签: .net dynamic-language-runtime

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

DLR如何有用?

DLR如何运作?

2 个答案:

答案 0 :(得分:8)

允许开发人员更轻松地构建动态语言,动态语言和CLR之间的兼容性以及动态语言(基于DLR构建)之间的相互作用非常有用。

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

它的工作原理是使用动态代码生成(运行时代码生成)Dynamic Type System(在运行时更改类型并允许DLR语言具有通用通信平台)Dynamic Method Dispatch(动态调度是动态调度的更改在运行时为方法执行的代码)。

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

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

答案 1 :(得分:2)

除了作为“动态语言的CLR桥”之外,DLR的另一个有趣用途是充当“(可能)任何结构化逻辑序列表示的CLR桥”。

换句话说......“动态语言”可以是Visio流程图,XML文档,存储在数据库中的数据等.DLR提供了从结构化数据映射到可执行代码的工具。 DLR和WF之间存在重叠......很想知道它将如何发挥作用。

如果你考虑奥斯陆所做的事情(提供层结构的工具以及其他非结构化的“数据”),你可以看到这一切都在哪里。奥斯陆+ DLR在未来几年可能会成为一项非常重要的交易。

当然,我们中的一些人不仅仅是在等待它自己发生。 ; - )