2010-08-15 45 views
1

單聲道正常工作與我的應用程序,但是當我嘗試編譯像爲什麼我不能在Mono中使用C#4默認參數?

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。

我怎樣才能成功編譯呢?

+1

嗯,你運行的是什麼版本的單呢?這似乎是一個非常重要的細節添加到您的文章! – 2010-08-15 13:48:21

回答

5

我們C#4.0編譯可作爲「成員體」命令而不是在「的GMC」,「平滑肌細胞」或「MCS」的命令。

在Mono 2.8之後,我們將致力於讓單個命令行編譯器使您能夠使用標誌選擇各種配置文件,但現在我們創建了不同的腳本,作爲您想要的API配置文件/語言級別的前端使用

+0

哇,沒想到米格爾回答我的問題:)謝謝。我非常喜歡Mono,祝你好運。你真的在開發.NET跨平臺。 P.S.我如何要求MonoDevelop使用dmcs來編譯我的ASP.NET MVC項目? – Alex 2010-08-16 06:28:46

+0

如果您安裝了4.0運行時,您應該能夠在「項目選項」中選擇目標框架版本。 – 2010-08-16 14:54:51

+0

嗯......我沒有這個選項,雖然我安裝了.NET 4。 下面是屏幕截圖: http://s51.radikal.ru/i134/1008/c5/2c9d0994e7af.jpg – Alex 2010-08-17 09:28:51

4

確保你已經得到單聲道2.8 ... ...它沒有被釋放,所以你需要下載的來源。 git存檔頁面是here

尚未準備好,因此在使用C#4.0功能之前,您需要從源代碼中獲取它並編譯單聲道,並且只有在單聲道團隊已將這些功能寫入其編譯器時才提供。

+0

哦,這就是我認爲的問題。它會在ASP.NET MVC 2框架下正常工作嗎? – Alex 2010-08-15 13:51:00

+1

@Alex - 當前的單聲道應該與MVC 2一樣工作。 2.8分支尚未準備好 - 我不會冒險將其用於生產應用程序。 – Oded 2010-08-15 13:53:55

+0

好,謝謝,我會等待單聲道2.8 – Alex 2010-08-15 13:56:51

相關問題