AsyncLazy<T>.DisposeValueAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
若是一次性,會丟棄懶惰初始化的值,並導致所有後續嘗試取得該值的嘗試都失敗。
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 ,因此如上所述被視為一次性物件。