public Task<Tresult> WrapIntoTask<Tresult>(Func<Tresult> function)
where Tresult : class
{
return Task.Run(function);
}
public Task<Tresult> WrapIntoTask<T, Tresult>(Func<T, Tresult> function)
where Tresult : class where T : class
{
return Task.Run(function); // Cannot pass in Func<T1, Tresult>
}
第一種方法滿足要求,工作正常,而第二種方法不允許編譯。Func <T1, TResult> TResult包裹進任務
如何將實際的T
的值傳遞給Task
?
好,你說的委託是一個函數取一個參數,類型T'的',你有什麼打算爲傳遞該參數的值?你可以執行'Task.Run(new Func(()=> function(someValue)))'。 –
@ LasseV.Karlsen如同在第一個「Task」調用中那樣返回'Task>',而不是'Task '。 –
Karolis