如何创建任务<>我可以手动完成

How to create a Task<> I can complete manually

在对组件进行单元测试时,我需要验证组件如何对在不同时间完成的任务作出反应。

如何创建一个可以随意解析的Task<>

您可以使用 TaskCompletionSource 创建完整的 'manual' 任务。

Represents the producer side of a Task unbound to a delegate, providing access to the consumer side through the Task property.

将完成源的 Task 属性 交给消费者,并在其上(随意)调用 SetResult 以完成任务。请注意,您还可以使用 SetCanceledSetException 分别表示取消和失败。