.NET 4.6 和 C#6 中是否集成了动态语言运行时 (DLR)?

Is the Dynamic Language Runtime (DLR) integrated in .NET 4.6 & C#6?

我在 4-5 年前听说过很多关于 DLR 的事情,但现在没有人谈论它。 我在网上搜索了很多关于它的内容,但没有找到任何最近的博客。

据我们所知,Roslyn 是 Visual Studio 2015 年编译 C# 代码的默认编译器,而不是 CSC,所以我的问题是:Roslyn 是否使用 DLR 概念,或者它完全消失了?

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

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