Func委托没有返回类型
所有的Func代表都会返回一个值。 什么是.NET代表可以用于返回void的方法?
所有的Func代表都会返回一些东西; 所有的Action代表都返回void。
Func<TResult>
接受任何参数并返回TResult:
public delegate TResult Func<TResult>()
Action<T>
接受一个参数并且不返回值:
public delegate void Action<T>(T obj)
Action
是最简单的'裸'代表:
public delegate void Action()
还有Func<TArg1, TResult>
和Action<TArg1, TArg2>
(以及其他最多16个参数)。 所有这些( Action<T>
除外)都是.NET 3.5(在System.Core中定义)的新增功能。
...没有参数并且有一个void返回类型?
我相信Action
是解决这个问题的方法。
所有Func代表至少需要一个参数
这不是真的。 它们都至少需要一个类型参数,但该参数确定返回类型。
所以Func<T>
接受任何参数并返回一个值。 如果您不想返回值,请使用Action
或Action<T>
。
上一篇: Func delegate with no return type
下一篇: Collection was modified; enumeration operation may not execute