TaskCompletionSource 类

定义

表示未绑定到委托的 Task 生成方,通过 Task 属性提供对使用者端的访问权限。

public ref class TaskCompletionSource
public class TaskCompletionSource
type TaskCompletionSource = class
Public Class TaskCompletionSource
继承
TaskCompletionSource

注解

通常,需要一个 Task 表示另一个异步操作的情况。 TaskCompletionSource 用于此目的。 它允许创建可以分发给使用者的任务,并且这些使用者可以使用任务的成员,就像任何其他任务一样。 但是,与大多数任务不同,由 TaskCompletionSource 方法对创建的任务的状态进行 TaskCompletionSource显式控制。 这样就可以将外部异步操作的完成传播到基础 Task。 分离还可确保使用者在无法访问相应 TaskCompletionSource状态的情况下无法转换状态。 所有成员 TaskCompletionSource 都是线程安全的,可以同时从多个线程使用。

构造函数

名称 说明
TaskCompletionSource()

创建 TaskCompletionSource

TaskCompletionSource(Object, TaskCreationOptions)

使用指定的状态和选项创建一个 TaskCompletionSource

TaskCompletionSource(Object)

创建具有指定状态的 A TaskCompletionSource

TaskCompletionSource(TaskCreationOptions)

使用指定的选项创建一个 TaskCompletionSource

属性

名称 说明
Task

Task获取由此TaskCompletionSource创建的 。

方法

名称 说明
Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
SetCanceled()

将基础 Task 转换为 Canceled 状态。

SetCanceled(CancellationToken)

使用指定的令牌将Canceled基础Task转换为状态。

SetException(Exception)

将基础 Task 转换为 Faulted 状态。

SetException(IEnumerable<Exception>)

将基础 Task 转换为 Faulted 状态。

SetFromTask(Task)

将基础 Task<TResult> 转换为与指定 completedTask相同的完成状态。

SetResult()

将基础 Task 转换为 RanToCompletion 状态。

ToString()

返回一个表示当前对象的字符串。

(继承自 Object)
TrySetCanceled()

尝试将基础 Task 转换为 Canceled 状态。

TrySetCanceled(CancellationToken)

尝试将基础 Task 转换为 Canceled 状态。

TrySetException(Exception)

尝试将基础 Task 转换为 Faulted 状态。

TrySetException(IEnumerable<Exception>)

尝试将基础 Task 转换为 Faulted 状态。

TrySetFromTask(Task)

尝试将基础 Task<TResult> 转换为与指定 completedTask相同的完成状态。

TrySetResult()

尝试将基础 Task 转换为 RanToCompletion 状态。

适用于