語言

TaskCompletionSource 類別

定義

代表未綁定的生產者側 Task 與代理人,透過該 Task 資產提供消費者端的存取。

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

備註

通常需要 a Task 來表示另一個非同步操作。 TaskCompletionSource 是為此目的而提供的。 它能創造一個可以分配給消費者的任務,而這些消費者可以像使用其他任務一樣使用任務的成員。 然而,與大多數任務不同,由 所 TaskCompletionSource 建立的任務狀態由 上 TaskCompletionSource的方法明確控制。 這使得外部非同步操作的完成能夠傳播到底層 Task的 。 分離也確保消費者無法在未取得對應 TaskCompletionSource的狀態 的情況下轉換狀態。 所有成員 TaskCompletionSource 皆為執行緒安全,且可同時從多個執行緒使用。

建構函式

名稱 Description
TaskCompletionSource()

建立 TaskCompletionSource。

TaskCompletionSource(Object, TaskCreationOptions)

建立包含指定狀態和選項的 a TaskCompletionSource 。

TaskCompletionSource(Object)

建立具有指定狀態的 。TaskCompletionSource

TaskCompletionSource(TaskCreationOptions)

建立包含指定選項的 a TaskCompletionSource 。

屬性

名稱 Description
Task

被 Task 這個 TaskCompletionSource創造出來。

方法

名稱 Description
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 。

適用於