IAsyncDisposable.DisposeAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以異步方式執行與釋放、釋放或重設非受控資源相關聯的應用程式定義工作。
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
傳回
一個代表非同步處置操作的任務。
備註
使用此方法非同步關閉或釋放未受管理的資源,例如實作此介面的類別實例所持有的檔案、串流和句柄。 使用這種方法 IDisposable.Dispose 代替,可以讓你執行資源密集型的處理作業,而不會長時間阻塞 GUI 應用程式的主執行緒。
警告
如果你使用的是實作該 IAsyncDisposable 介面的類別,使用完該類別後應該呼叫該 DisposeAsync 類別的實作。 欲了解更多資訊,請參閱本 IAsyncDisposable 主題中的「使用實作 IAsyncDisposable 的物件」章節。
實作此方法時,請透過透過包含階層傳播呼叫,確保所有持有的資源都被釋放。 例如,若物件 A 分配物件 B,物件 B 分配物件 C,則 A 的DisposeAsync實作必須呼叫 DisposeAsync B,而 B 又必須呼叫 DisposeAsync C。若基底類別實DisposeAsync作 ,物件也必須呼叫IAsyncDisposable該基底類別的方法。
若物件 DisposeAsync 的方法被呼叫超過一次,該物件必須忽略第一次呼叫後的所有呼叫,並同步回傳成功完成 ValueTask的 。 如果多次呼叫該物件的 DisposeAsync 方法,則該物件不得擲回例外狀況。 其他實例方法DisposeAsync可以在資源已經處理完畢時丟棄。ObjectDisposedException