我已经使用Task.Factory.ContinueWhenAny()
一段时间了,只是决定研究其他选项.因此,我引用了它的MSDN参考页,此命令的语法描述为:
public Task<TResult> ContinueWhenAny<TResult>(
Task[] tasks,
Func<Task, TResult> continuationFunction,
CancellationToken cancellationToken
)
对我来说很明显,<里面提到的部分. & >是类型,例如Task< TResult>中类型TResult的预期返回值.但是我不太确定此语法的这一部分是什么意思:
Func<Task, TResult> continuationFunction
如您所见,在<>内部有两个参数.并以逗号分隔.
解决方法:
这是一个Func委托,它的声明如下:
public delegate TResult Func<in T, out TResult>(T arg);
它代表一个带有Task参数并返回TResult类型结果的函数.
它类似于:
TResult ContinuationFunction<T,TResult>(T arg) { ... }
进一步阅读
> Generics
> Delegates
> Func<T, TResult>
Delegate