在C#中,我們可以提供參數的默認值,例如:如何在C#中爲委託類型的參數提供默認值?
void Foo(int i =0) {}
但是,當方法簽名是:
void FooWithDelegateParam(Func<string,string> predicate)
{}
我們如何傳遞的默認參數:
void FooWithDelegateParam(Func<string,string> predicate = (string,string x)=> {return y;})
{}
但這不會編譯。那麼,這樣做的恰當語法是什麼?
注:我試圖提供一種方法來指定輸入字符串輸出字符串映射器通過委託,如果沒有提供,我只是想返回輸入字符串。因此,對於實現這一目標的任何替代方法的建議也非常感謝。謝謝。
喬恩我很好奇每個人的利弊。你的方法當然是一種全合一的方法,更容易維護,而且我的方法沒有運行時過載。還要別的嗎? – Alireza
@Alireza:將編輯更多細節的答案。 –
謝謝你的時間 – Alireza