在其他語言中我可以設置方法簽名一樣C#默認參數
cookEgg(boolean hardBoiled = true)
這個默認個煮爲真,如果我沒有收到在方法調用的參數的參數。我如何在c#中實現這一點?
非常感謝
在其他語言中我可以設置方法簽名一樣C#默認參數
cookEgg(boolean hardBoiled = true)
這個默認個煮爲真,如果我沒有收到在方法調用的參數的參數。我如何在c#中實現這一點?
非常感謝
目前,你必須重載方法:
void cookEgg(bool hardBoiled) { ... }
void cookEgg() { cookEgg(true); }
C#4.0將添加可選參數 - 你就可以編寫代碼完全按照你的原始樣本中,它將按照您的預期工作。
這不是你看起來完全一樣,但我認爲params的論點是另一個答案。
void test(params int []arg) { }
默認參數在C#4(Visual Studio 2010)中受支持。
http://msdn.microsoft.com/en-us/library/dd264739(VS.100).aspx
我很期待這個功能tbh。相當惱人的是,現在必須使重載方法具有此功能。我也希望靜態擴展方法(擴展靜態類,如... System.String或其他)。 – Zack 2009-07-30 05:22:35
我必須缺少一些東西,因爲您可以在C#3.0中輕鬆定義'System.String'的擴展方法。 – 2009-07-30 05:37:06