开发环境: - VS2010 - .Net Framework 4.0,3.5,2.0
分期和制作环境: - .Net Framework 3.5,2.0
我正在研究的项目是针对.Net Framework 3.5。今天我在这个项目中使用了可选参数功能,这是C#4的新功能,它工作正常。我认为VS2010正在使用C#4编译器,并且正在使用可选参数将该方法编译为IL中相应的重载方法。
我想知道我是否也可以使用所有新的C#4功能。
答案 0 :(得分:7)
您无法使用dynamic
功能。这依赖于C#运行时和DLR DLL,它们仅在4.0版本的.Net框架上可用。 DLR的版本可用于3.5,但我不认为它们与C#编译器所需的版本兼容。
此外,您无法在向下目标场景中使用NoPIA /嵌入式互操作类型。此功能需要4.0中添加的CLR支持。
在Visual Studio 2010中进行向下定位有什么好处,但您不必了解每个限制。如果您的项目设置为目标3.5,并且您使用不兼容的功能,Visual Studio将产生错误。
答案 1 :(得分:1)