.Net 2.0 上的 C# 3.0 兼容性
我们可以在面向 .Net 2.0 框架的应用程序中使用哪些 C# 3.0 语言功能?
PS:我知道很少有像 Lambda 表达式和 var
关键字
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我们可以在面向 .Net 2.0 框架的应用程序中使用哪些 C# 3.0 语言功能?
PS:我知道很少有像 Lambda 表达式和 var
关键字
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
我有一篇关于这个主题的文章。
简而言之:
支持:
部分支持:
不支持:
实际上,我听说可以转换为表达式树借助 Mono 的 System.Core 实现。不过我还没有尝试过......我一直想这样做(然后更新页面)。
I have an article on this very topic.
In brief:
Supported:
Partially supported:
Not supported:
In fact, I have heard that conversion into expression trees is available with the aid of Mono's implementation of
System.Core
. I haven't tried it yet though... I keep meaning to do so (and then update the page).请参阅此处:
在 .Net 2.0 应用程序中使用 C# 3.0 (.Net 3.5) 语法
完整了解以下情况下可以做什么和不能做什么针对 .NET 2.0 Framework 并使用 C# 3.0。
总之:
扩展方法可以工作,但是它们需要“System.Runtime.CompilerServices.ExtensionAttribute”才能工作,并且此类型可以在 System.Core DLL 中找到(严格来说,它不是 .NET 2.0 框架的一部分)。
查询语法不能“开箱即用”,可以这么说,但是,如果有第 3 方 DLL(例如 LINQBridge)。此 DLL 有效地重新实现了以 .NET 2.0 框架为目标时执行 LINQ 所需的许多“缺失”类型。它还实现了扩展方法工作所需的“ExtensionAttribute”类型,因此只需从项目中添加/引用 LINQBridge DLL 即可启用 LINQ、查询语法/表达式和扩展方法!
Please see here:
Using C# 3.0 (.Net 3.5) syntax in a .Net 2.0 application
For a complete run down of what you can and can't do when targeting the .NET 2.0 Framework and using C# 3.0.
In summary:
Extension methods sort-of work, however, they require "System.Runtime.CompilerServices.ExtensionAttribute" in order to work, and this type is found within the System.Core DLL (which is not strictly part of the .NET 2.0 framework).
Query Syntax cannot be used "out of the box" so-to-speak, however, it can be used if a 3rd party DLL (like LINQBridge) is used. This DLL effectively re-implements many of the "missing" types that you need to perform LINQ when targeting the .NET 2.0 framework. It also implements the "ExtensionAttribute" type needed for Extension methods to work, so simply adding/referencing the LINQBridge DLL from your project will enable LINQ, Query Syntax/Expressions and Extension Methods!