假设我有
Task t1 = Task.Run(() =>
{
// do something
}).ContinueWith((t) => {
int x;
});
我认为t1是ContinuteWith Task的引用。我怎样才能获得第一个任务的参考?它有可能吗?
是否有快捷方式或是否必须使用new创建任务,然后单独附加continue?
答案 0 :(得分:2)
正如@toddmo所提到的,要获得主要Task
的两个引用以及它的继续,你可能会喜欢这样做:
Task t1 = Task.Run(() => {
// do something
});
Task t1Continuation = t1.ContinueWith((t) => {
int x;
});
AFAIK没有方便的方法以单线方式实现这一点。另外,请记住,在ContinueWith lambda中收到的对象是第一个任务,您可以在其中查看results或errors是否存在任何内容。
答案 1 :(得分:0)
单独声明t1
将第一条腿放在括号中。删除"任务"在开头
将整个事情分配给t2