如何在.net 2.0目标下禁止var关键字?

时间:2010-08-04 07:11:05

标签: c# visual-studio visual-studio-2010

我使用目标框架2.0在Visual Studio中创建了新项目。但即使我离开某处var关键字,Visual Studio也能成功编译项目。这是正确的行为,因为var是3.0功能吗?是否有任何设置可以阻止编译var的代码?

4 个答案:

答案 0 :(得分:14)

var C# 3.0的一项功能,但它不需要任何框架功能。换句话说,在面向.NET 2.0的项目中使用它绝对没问题。许多其他功能也是如此 - 匿名类型,自动属性,lambda表达式等。

有关详细信息,请参阅我的versions article。 (我需要在某个时候为C#4更新它......)

如果希望限制自己使用C#2.0,则可以通过单击项目属性IIRC的“构建”选项卡中的“高级”来指定语言版本。 (这肯定在某个地方,但我宁愿喝一杯咖啡,而不是现在检查确切位置。)

答案 1 :(得分:3)

var纯粹是编译时功能,编译程序集后,编译器会插入实际类型,并且您使用var的事实已“丢失”

因此,一个针对框架2.0版本的项目仍然可以使用var功能,因为它实际上不会以任何方式影响输出的程序集。

答案 2 :(得分:1)

只要您的项目始终使用Visual Studio 2008或更新版本进行编译,您就可以安全地使用C#3.0功能。 .NET 2.0目标仅限制您可以使用的库,而不是语言功能。

答案 3 :(得分:-1)

将var的全文替换为1var1并手动替换它们或使用3.0之前版本的编译器。