.NET 3.5的哪些function可以在.NET 2.0应用程序中使用?

我有一个我在Visual Studio 2008中开发的应用程序,但项目设置为.NET 2.0。 该应用程序将在仅安装了.NET 2.0的盒子上运行。

我知道我可以使用.NET 3.5 c#编译器的一些function,并将我的代码编译为.NET 2.0运行时理解的MSIL。

我可以在.NET 2.0应用程序中使用.NET 3.5的哪些function?

编辑:我想到的是扩展方法,Linq,lambdas,对象初始化器,集合初始化器和其他编译器糖果。

没有外部库,您可以使用

  • Lambda表达式
  • 对象初始化器
  • 集合初始化器
  • 扩展方法
  • Autoproperties

在LINQBridge之类的外部库的帮助下,您还可以在内存中使用LINQ查询。

您不能使用的主要function是表达式树,因为它们依赖于CLR中的修复程序,这些修复程序在vanilla 2.0安装中不存在