我有开始一个任务并返回最后cahined任务得到结果这个方法:如何启动延续任务实例?
public Task<double> GetTask()
{
return Task.Factory.StartNew((() => 10))
.ContinueWith(i =>
{
return i.Result + 2;
})
.ContinueWith(i =>
{
return (double)i.Result;
});
}
我想有同样的方法返回相同的任务,但不与Task.Factory自动启动它.StartNew这样的:
public Task<double> GetTask2()
{
return new Task<int>((() => 10))
.ContinueWith(i =>
{
return i.Result + 2;
})
.ContinueWith(i =>
{
return (double)i.Result;
});
}
反正我没能找到一种方法来启动由GetTask2返回的任务,并得到结果。我如何启动并获得结果?
这是行不通的。你需要开始原始的第一项任务。不是链的最后一个。 – usr 2012-03-14 16:22:08
为什么?这不是问题。只是从该方法实例化任务。然后启动它。简单。 – MoonKnight 2012-03-14 16:24:58
您正在调用开始继续任务。您无法启动延续任务。它的前奏完成时它会自动启动。你不能强迫它开始。 – usr 2012-03-14 17:09:34