为什么即使在定位3.5时也允许某些C#4功能?

Gre*_*ter 4 visual-studio-2010 c#-4.0

我们升级到VS 2010,但我们还没有升级到.NET 4.0.我们所有的项目仍明确针对3.5.

今天,开发人员检查了如下所示的代码:

delegate T Generator<out T>();
Run Code Online (Sandbox Code Playgroud)

据我所知,"T"和"out T"是C#4.0的功能.根据我们的构建服务器,它没有安装.NET 4.0,我是对的.办理登机手续打破了建筑.但是,为什么它会在他的机器上构建呢?为什么VS只是忽略了项目的目标框架?

其他C#4.0功能,如动态关键字,不构建在开发人员的机器上.

zil*_*n01 6

C#规范是与CLR分开开发的.这意味着如果可以将C#功能转换为早期版本的.NET的代码,则在定位早期版本的框架时仍可以使用它.