2016-07-15 99 views
0

我試圖在ubuntu上運行的dotnet核心庫中指定可選參數。 (版本 - 1.0.0-preview2-003121)無法在C#中使用dotnet核心創建可選參數

我添加簽名像這樣:

public int ExecuteNonQuery(string cmd, int sqlCommandTimeout = 30){ 
} 

我可以編譯並運行該項目沒有問題,但我不得不打電話與這兩個參數的函數。

如果我打電話只CMD的功能,我得到一個編譯錯誤:

dataLink.ExecuteNonQuery(qry) 

錯誤:

錯誤CS7036:沒有給定參數對應到所需的形參「 'X.ExecuteNonQuery'(string,int)'commandTimeOut''

dotnet核心不支持可選參數還是我做錯了?謝謝

更新: 可選參數支持和工作 - 問題是因爲我通過接口調用類。感謝您的幫助

+0

我認爲我們需要更多能夠找到解決方案。你能發佈更多相關的代碼嗎? –

+0

@BviLLe_Kid對我來說看起來就像一個完整的例子 – ardila

+0

@ardila好,如果用戶遇到他的代碼的問題,並從我可以看到,我沒有看到任何錯誤..所以問題不在2行OP提供的代碼 –

回答

0

我使用.Net核心(Windows),我絕對不會遇到任何可選參數的問題。請記住,可選參數是該語言的一個特徵,而不是框架的特徵。

您是否在運行時發現錯誤?

它不理想,但如果你只有這兩個參數,只有最後一個是可選的,你可能會考慮只是創建一個超載?

+0

- arrg - 對不起愚蠢的問題。我通過一個界面給班級打電話 - 直到@Dirk Vollmar指出簽名是不同的。 – onemorecupofcoffee

相關問題