c#版本兼容性
本文关键字:兼容性 版本 | 更新日期: 2023-09-27 18:08:31
我正在开发一个目标框架是3.5版的应用程序。但是在查看代码时,我发现了一个使用默认参数的方法:
public void Contact(string name, string email, string phone, string phoneAreaCode = "")
{
//...
}
和混淆
语言特性独立于框架版本?两者之间的关系是什么?为什么上面的代码是可能的?
EDIT:我在VS2010中创建了2个项目(一个类库和一个控制台),都是标记。net 2.0框架。在类库中,我创建了一个带有可选字符串参数的方法。我在控制台应用中使用过它,没有任何问题,无论是否传递参数。这与VS2010有什么关系吗?你说的VS2010是指c#编译器4.0吗?
编译器发出信息,但3.5运行时不使用它-它只是被忽略。
看这篇博文,还有这些问题——一、两个。
实际上,3.5运行时看到的是:public void Contato(string nome, string email, string telefone, string ddd)
{
//...
}
语言特性取决于您使用的Visual Studio版本。. net框架规定了你可以使用哪些。net函数和类。
上面的代码是可能的,因为您正在使用Visual Studio 2010。无论程序集的目标是什么. net版本,都可以使用新代码编辑器的所有功能。但是,当你试图在。net 3.5代码中使用。net 4.0类或函数时,你会得到一个编译错误。
您必须使用VS2010…因为它支持