c# - C#5.0的哪些特性可以编译运行在.net 4.0上

标签 c# c#-5.0

我预计框架级更新(如异步)将无法编译为在较低的框架上工作,但编译器差异(如 foreach 循环变量范围)在使用 C# 5.0 针对 .净4.0? 谁能提供一份明确的 list ?

编辑:

而不是要求一个明确的列表,我认为这是一个很多要求,任何人都能够回答编译器级别的变化(如 foreach 变量范围)在使用 C# 5.0 时是否会有不同的行为较早的框架版本。

最佳答案

所有这些。没有什么真正需要新的运行时支持——一些功能只需要新的库。但是,您无需针对 .NET 4.5 库进行编译 - 您也可以提供自己对同一 API 的实现。

例如,将以下文件添加到您的项目以在 .NET 4.0 项目中启用对异步/等待的支持:https://gist.github.com/1961087

我还没有尝试使用调用者信息属性,但我很确定即使您自己定义它们而不是使用 .NET 4.5 附带的属性,它们也能正常工作。

同样的技巧适用于 C# 3 中的 class ExtensionAttribute 以在 .NET 2.0 中使用扩展方法,您甚至可以在 .NET 2.0 中使用完整的 LINQ-to-Objects (LinqBridge)

关于c# - C#5.0的哪些特性可以编译运行在.net 4.0上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9789714/

相关文章:

c# - ASP.NET MVC Windows 身份验证拒绝工作

c# - 使用 C# 5 异步等待在多个游戏帧上执行的内容

c# - 将请求特定的对象从自定义身份验证过滤器共享到 Controller /模型

c# - ASP.NET 中的计划事件?

c# - 如何在 C# 中创建异步方法?

c# - 如何将 CancellationTokenSource 附加到 DownloadStringTaskAsync 方法并取消异步调用?

c# - 带有可选参数的接口(interface)实现

c# - 了解 .Net 中的 32 位与 64 位

c# - 尝试创建最小起订量对象

javascript - MVC 5如何强制浏览器打开PDF文件