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)

创建具有指定状态的 TaskCompletionSource

TaskCompletionSource(Object, TaskCreationOptions)

创建具有指定状态和选项的 TaskCompletionSource

TaskCompletionSource(TaskCreationOptions)

使用指定选项创建 TaskCompletionSource

属性

Task

获取由此 TaskCompletionSource创建的 Task

方法

Equals(Object)

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

(继承自 Object)
GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
SetCanceled()

将基础 Task 转换为 Canceled 状态。

SetCanceled(CancellationToken)

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

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 状态。

适用于