在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