为什么我不能在Mono中使用C#4默认参数?

时间:2010-08-15 13:47:05

标签: asp.net-mvc mono c#-4.0

Mono适用于我的应用程序,但是当我尝试编译像

这样的函数时
int Yo(int a, int b = 1) {
     // blah...
}

它不起作用,它说“不允许使用默认参数说明符”

根据Mono的网站

  

Mono C#编译器被认为是C#1.0,​​C#2.0和C#3.0(ECMA)的功能完整版。 C#4.0的预览版随Mono 2.6一起发布,Mono 2.8提供完整的C#4.0实现,或者从我们的主干源代码版本构建Mono。

如何成功编译?

2 个答案:

答案 0 :(得分:5)

我们的C#4.0编译器可用作“dmcs”命令,而不是“gmcs”,“smcs”或“mcs”命令。

在Mono 2.8之后,我们将努力使用单个命令行编译器,让您使用标志选择各种配置文件,但是现在我们创建了不同的脚本,作为您想要的API配置文件/语言级别的前端使用

答案 1 :(得分:4)

确保你已经获得了Mono 2.8 ......它还没有发布,所以你需要下载源代码。 git存档页面为here

还没有准备好,所以你需要从源代码中获取它并自己编译单声道才能使用C#4.0功能,这只是提供了mono团队实际上已经完成了将这些功能编写到他们的编译器中。 / p>