Поделиться через


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

Возвращает Task, созданные этим TaskCompletionSource.

Методы

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.

Применяется к