在C#中可以有一個方法接受一個委託,有零,1或許多參數?C#lamba作爲參數的方法
在下面的方法中,當我在對話框中單擊「是」時,我希望能夠做某種事情。我爲此使用了一個委託,但目前它只接受不帶參數的方法。
有可能有多種方法來做到這一點,如傳遞一個包含參數的泛型類,但是最好的方法是什麼? C#是否提供了一些開箱即用的方式以優雅的方式來完成此操作?
public static bool ShowCustomDialog(string message,
string caption,
MessageBoxButtons buttons,
XafApplication application,
Action onYes = null)
{
Messaging messageBox = new Messaging(application);
var dialogResult = messageBox.GetUserChoice(message, caption, buttons);
switch (dialogResult)
{
case DialogResult.Yes:
onYes?.Invoke();
break;
}
return false;
}
沒有,這是不可能創建accespts的參數的任何任意數目的FUNC如'行動','ActionT1,T2,...>'的方法。 –
HimBromBeere