如何使用 Task.Run(Func f) 方法签名?

2024-03-13

要使用此方法:

public static Task Run(Action action)

我只是写:

void MyMethod(){ //do something }
Task t = Task.Run(new Action(MyMethod));

但是我不明白如何使用以下重载

public static Task Run(Func<Task> f)

msdn提到返回的任务是“任务的代理” 由 f" 返回,这让我更加困惑。代理是什么意思,我将如何调用这个方法?


Func<Task>只是一个函数returns一个任务。That然后执行任务。

So Task Run( Func<Task> f )返回一个Task,他的工作是运行另一个Task(创建者为f). That's“代理”是什么意思。

但是,请阅读注释MSDN https://msdn.microsoft.com/en-us/library/hh194918(v=vs.110).aspx(强调):

The Run<TResult>(Func<Task<TResult>>)方法被语言编译器用来支持async and await关键词。它不适合直接从用户代码调用.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Task.Run(Func f) 方法签名? 的相关文章

随机推荐