我经常做这样的事情:
if (task != null && !task.IsCompleted && !task.IsCanceled && !task.IsFaulted)
{
// do something, e.g. cancel the task
}
task.IsPending
作为 的快捷方式会很棒!task.IsCompleted && !task.IsCanceled && !task.IsFaulted
,但它不存在。并且task.Status == TaskStatus.Running
不一样,因为任务可以处于等待状态之一。
我为此有一个自定义Task
扩展方法,但我很好奇为什么它一开始就不存在。以这种方式检查未决状态是否被认为已被弃用?