2016-09-29 67 views
2

4-5年前我听到很多关于DLR的事情,但现在没人谈论它。 我在网上搜索了很多关于它的信息,但没有找到任何最近的博客。在.NET 4.6和C#6中集成了动态语言运行时(DLR)吗?

因为我们知道Roslyn是Visual Studio 2015中编译C#代码的默认编译器,所以我的问题是:Roslyn使用DLR概念还是完全没了?

+5

6年前它被集成到System.Core中。 Microsoft.CSharp具有活页夹。自动添加到任何面向.NET 4.0或更高版本的新项目的组件。它只是不会产生很多噪音,现在是正常的。在代码中使用* dynamic *关键字或DynamicObject类。 –

+0

我认为这[link](https://msdn.microsoft.com/en-us/library/dd233052(v = vs.110).aspx)会有所帮助。另请参阅[链接](http://dlr.codeplex.com/) – Pabdev

+1

为什么不经常谈论它的原因是它非常情景化。它非常强大,但是在正常的项目中并不常用。当你不知道对象的完整结构时,它可以非常有用地搜索匿名反序列化的json转储等中的值。 – Mafii

回答

1

是的,它被集成到Microsoft.CSharp命名空间(有它的动态绑定器),甚至在C#中有它自己的关键字。

当您在.NET 4或更高版本的Visual Studio中创建项目时,可以简单地使用dynamic关键字来使用DLR的零件。