C# 3.0 在 .Net 2.0 上的兼容性

标签 c# .net-3.5 .net-2.0 compatibility

我们可以在面向 .Net 2.0 框架的应用程序中使用哪些 C# 3.0 语言功能?

PS:我知道很少像 Lambda 表达式和 var 关键字

最佳答案

我有一个 article on this very topic .

简而言之:

支持:

  • 自动实现的属性、隐式类型的局部变量和数组、对象和集合初始值设定项、匿名类型、部分方法、转换为委托(delegate)类型的 lambda 表达式。

部分支持:

  • 扩展方法(需要一个属性)和查询表达式(需要像 LINQBridge 这样的东西才有用)

不支持:

  • Lambda 转换为表达式树

事实上,我听说在 Mono 的 System.Core 实现的帮助下, 可以转换为表达式树。不过我还没有尝试过...我一直想这样做(然后更新页面)。

关于C# 3.0 在 .Net 2.0 上的兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1404507/

相关文章:

c# - 是因为 CLR 或 GetHashCode() 方法的字符串池吗?

.net-3.5 - Windows 7 任务栏图标未显示在 .net 3.5 应用程序中

c# - 将 TimeSpan 值显示为耗时的最简单方法,例如1 :45:33

c# - 我如何确保 List<T>.Contains(T) 适用于我的自定义类?

c# - 无法编译,因为 Visual Studio 正在使用我的 DLL

c# - 如何在 [InitializeOnLoad] 脚本类型中更改游戏对象在层次结构中的位置?

c# - 如何在 .NET 中验证 HTTPS/SSL 证书的有效性?

asp.net - Cookie 和 ASP.NET 让我抓狂

xml - 经过修改的 XSLT 副本

c# - 如何验证 Moq 中的对象类型参数