语法是什么意思? Func sampleFunction

我已经使用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

上一篇:PHP最佳实践:给定参数应始终具有一致的类型吗?


下一篇:C#-GetGenericTypeDefinition返回不同的类型