我有问题:我无法知道我称这种方法:
public static Task<TResult> Run<TResult>(
Func<Task<TResult>> function
)
如果您没有我知道的通用参数,我可以这样做:
Task.Run( () => { Task.Delay(10000) });
你能告诉我我怎么做到这一点以及为什么?
问候!
答案 0 :(得分:0)
您不知道如何调用泛型和异步方法? TResult是一个占位符。使用它时,您需要将TResult替换为实际的类。此外,您还记得等待结果非常重要。
var myResultVar = await Task.Run<MyResult> (() => MyFunctionWhichReturns() );
public MyResult MyFunctionWhichReturns()
{
return new MyResult();
}
答案 1 :(得分:0)
您正在调用Task.Run
方法的另一个重载:
public static Task Run(Func<Task> function)
所有重载的概述是given in the linked MSDN page。