我有这样的示例代码:
Task<int> t1= new Task<int>(()=>1);
t1.ContinueWith(r=>1+r.Result).ContinueWith(r=>1+r.Result);
t1.Start();
Console.Write(t1.Result); //1
它显然返回来自t1任务的Result(即1)。
但我如何从最后一个继续的任务中获取结果(它应该是3 {1+1+1})?
t2
引用了最后一个 continuation。回答你的第二个问题,一个 Task 没有公共属性可以获取它的 continuations(这样做实际上违背了 TPL 的精神,我认为)。但是理论上你可以使用一些反射技巧来达到目的。不过我并不推荐这么做。 - Ani