我的问题是关于Task.Run(Action, CancellationToken),为什么委托CancellationToken
没有明确访问它Action
?
我的意思是,我仍然可以隐式地使用它作为委托捕获的上下文的一部分:
Task DoWorkAsync(CancellationToken ct)
{
return Task.Run(() =>
{
while (moreWork)
{
// do work
ct.ThrowIfCancellationRequested();
}
}
}
在这种情况下,为什么我需要ct
作为第二个参数传递给Run
? 我错过了什么?