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

適用於