類別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 ' –