如何创建任务<>我可以手动完成
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
以完成任务。请注意,您还可以使用 SetCanceled
和 SetException
分别表示取消和失败。
在对组件进行单元测试时,我需要验证组件如何对在不同时间完成的任务作出反应。
如何创建一个可以随意解析的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
以完成任务。请注意,您还可以使用 SetCanceled
和 SetException
分别表示取消和失败。