語言

AsyncLazy<T>.DisposeValueAsync 方法

定義

若是一次性,會丟棄懶惰初始化的值,並導致所有後續嘗試取得該值的嘗試都失敗。

public System.Threading.Tasks.Task DisposeValueAsync();
member this.DisposeValueAsync : unit -> System.Threading.Tasks.Task
Public Function DisposeValueAsync () As Task

傳回

當價值被處置時完成,或若價值已被處置或先前呼叫排程處理,則立即完成任務。

備註

呼叫此方法會使該物件進入處置狀態,未來為取得該值而呼叫時會拋出 ObjectDisposedException。

若價值已產生並實施 IDisposable, IAsyncDisposable則 IAsyncDisposable 將被處置。 若價值工廠已啟動但尚未完成,則價值工廠完工時其價值將被處置。

如果先前為了取得該值的呼叫在此方法被呼叫時仍在進行中,這些呼叫 可能會 完成,呼叫者可能會獲得該值,儘管 Dispose() 可能已被或即將被呼叫,導致使用者體驗到一個 ObjectDisposedException。

請注意所有基於實作 IDisposable 值或 IAsyncDisposable 基於實際值的條件,而非 T 型別參數。 這表示雖然 T 可能 ( IFoo 但不實作 IDisposable),但實作 IFoo 的具體型態可實作 IDisposable ,因此如上所述被視為一次性物件。

適用於