我有这个简单的代码,它异步启动一个方法。它使用任务TCS
来包装代码。
Task<int> DoWork()
{
var source = new TaskCompletionSource <int>();
Thread.Sleep(220);
source.SetResult(9999999);
return source.Task;
}
void Main()
{
Console.WriteLine(1);
var t1=Task.Factory.StartNew(()=>DoWork());
t1.ContinueWith(_=>Console.WriteLine ("doing something different "));
t1.ContinueWith(_=>Console.WriteLine ("finished , value is ="+_.Result.Result));
Console.WriteLine(2);
Console.ReadLine();
}
输出 :
1
2
doing somethign different //those last 2 lines can be swapped
finished , value is =9999999
但是现在,我想把它转换成使用Task.FromResult<TResult>
。
这没有很好的记录 ,所以我想知道,如何将上面的代码转换为使用Task.FroResult
?