所有Func委托都返回一个值。哪些.NET委托可以用于返回void的方法?


当前回答

所有Func委托至少接受一个参数

这不是真的。它们都至少有一个类型参数,但该参数决定返回类型。

所以Func<T>不接受参数并返回一个值。当您不想返回值时,使用Action或Action<T>。

其他回答

... 不接受参数,并有一个无效返回类型?

如果你正在为System.Windows编写程序。表单,你也可以使用:

public delegate void MethodInvoker()

... 不接受参数,并有一个无效返回类型?

我相信行动可以解决这个问题。

试系统。Func<T>和System。行动

偶尔你会想写一个事件处理的委托,在这种情况下,你可以利用系统。EvenHandler<T>,它隐式接受一个object类型的参数,以及应该从EventArgs派生的第二个参数。EventHandlers将返回void

我个人认为,在测试过程中,这对于在函数体中创建一次性回调非常有用。

所有Func委托至少接受一个参数

这不是真的。它们都至少有一个类型参数,但该参数决定返回类型。

所以Func<T>不接受参数并返回一个值。当您不想返回值时,使用Action或Action<T>。