IAsyncDisposable.DisposeAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
非同步執行與釋放 (Free)、釋放 (Release) 或重設 Unmanaged 資源相關聯之由應用程式定義的工作。
public:
System::Threading::Tasks::ValueTask DisposeAsync();
public System.Threading.Tasks.ValueTask DisposeAsync ();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Function DisposeAsync () As ValueTask
傳回
代表非同步處署作業的工作。
備註
使用這個方法,以非同步方式關閉或釋放 Unmanaged 資源,例如實作此介面的 類別實例所持有的檔案、資料流程和控制碼。 使用此方法,而不是 IDisposable.Dispose 讓您執行需要大量資源的處置作業,而不會長時間封鎖 GUI 應用程式的主要執行緒。
警告
如果您使用實作 介面的 IAsyncDisposable 類別,您應該在使用 類別完成時呼叫其 DisposeAsync
實作。 For more information, see the "Using an object that implements IAsyncDisposable" section in the IAsyncDisposable topic.
實作此方法時,請確定透過內含專案階層傳播呼叫,以釋放所有保留的資源。 例如,如果物件 A 設定物件 B,而物件 B 會設定物件 C,則 A 的 DisposeAsync
實作必須在 B 上呼叫 DisposeAsync
,而該實作必須在 C 上呼叫 DisposeAsync
。如果基類實作 IAsyncDisposable , DisposeAsync
物件也必須呼叫其基類的 方法。
如果呼叫物件的 DisposeAsync
方法多次,物件必須在第一個呼叫之後忽略所有呼叫,並同步傳回成功完成 ValueTask 的 。 如果呼叫物件的 DisposeAsync
方法多次,則物件不得擲回例外狀況。 以外的 DisposeAsync
實例方法可以在資源已處置時擲回 ObjectDisposedException 。