我想执行三个步骤的工作。一个准备任务,一个封装在返回任务的方法中的工作任务,以及一个需要上一步结果的清理任务。但是我不确定我是否通过解包和访问“Result”属性以正确的方式做到了这一点,或者是否有更清晰的版本将方法包含在执行链中。
static void Main(string[] args)
{
Task.Factory.StartNew(() => Console.WriteLine("Prepare"))
.ContinueWith(x => Work())
.ContinueWith(x => Console.WriteLine(x.Unwrap().Result));
Console.ReadLine();
}
private static Task<string> Work()
{
Thread.Sleep(1500);
return Task.Factory.StartNew(() => "See my results...");
}
最佳答案
您可以简单地使用一个异步方法来执行所有步骤并返回一个任务:
static async Task DoAsync()
{
Console.WriteLine("Prepare");
Console.WriteLine(await WorkAsync());
}
static void Main(string[] args)
{
DoAsync().Wait();
Console.ReadLine();
}
关于c# - 继续返回任务的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121151/