要使用此方法:
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(使用前将#替换为@)