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>接受任何参数并返回一个值。 如果您不想返回值,请使用ActionAction<T>

链接地址: http://www.djcxy.com/p/51425.html

上一篇: Func delegate with no return type

下一篇: Collection was modified; enumeration operation may not execute