我们可以在针对.Net 2.0框架的应用程序中使用哪些 C#3.0 语言功能?
PS:我知道很少有像Lambda表达式和var
关键字
答案 0 :(得分:5)
简而言之:
支持的:
部分支持:
不支持:
事实上,我听说在Mono执行System.Core
的帮助下可以转换为表达式树 。我还没有尝试过,但我仍然有意义这样做(然后更新页面)。
答案 1 :(得分:4)
请看这里:
Using C# 3.0 (.Net 3.5) syntax in a .Net 2.0 application
完全了解在面向.NET 2.0 Framework和使用C#3.0时您能做什么和不能做什么。
总结:
扩展方法排序工作,但是,它们需要“System.Runtime.CompilerServices.ExtensionAttribute”才能工作,并且这种类型可以在System.Core DLL中找到(它不是.NET 2.0的严格组成部分)框架)。
查询语法不能直接使用“开箱即用”,但是,如果使用第三方DLL(如LINQBridge),则可以使用它。此DLL有效地重新实现了在针对.NET 2.0框架时执行LINQ所需的许多“缺失”类型。它还实现了Extension方法工作所需的“ExtensionAttribute”类型,因此只需从项目中添加/引用LINQBridge DLL即可启用LINQ,查询语法/表达式和扩展方法!