类别TaskHolder
有一个属性类型Task
。我将Task
作为参数传递给构造函数,并立即启动。有没有办法阻止它开始?阻止启动任务
public class Worker
{
public class TaskHolder
{
public TaskHolder(Task objective)
{
Objective = objective;
}
public Task Objective { get; set; }
}
public async Task DoSomething()
{
await Task.Delay(5000);
Debugger.Break(); // Task starts, so debugger stops here!
// Is there a way to prevent it from start?
}
[Test]
public async Task TempTest()
{
// programm starts here:
var t1 = new TaskHolder(DoSomething());
await Task.Delay(10000);
}
}
我可以问你为什么不要它开始?这是为了调试吗? – GrandMasterFlush
'实际代码中的'TaskHolder'有'List Steps {get;设置;}',它拥有多个步骤来逐个执行,而不是同时执行。我想定期执行这个步骤。现在我看到我的实现是错误的。 B.t.w.第一次运行后,步骤变成了“RanToCompletion”状态,因此再次启动它们的唯一方法是重新创建它们。 –
AsValeO
“'列表步骤{get; set;}'拥有多个步骤来逐个执行,而不是同时执行” - 这根本不是“Task”所代表的。这听起来应该是'List ' –