AsyncLazy<T>.DisposeValue 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
若是一次性,會丟棄懶惰初始化的值,並導致所有後續嘗試取得該值的嘗試都失敗。
public void DisposeValue();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()
備註
若是第一個處置該價值的呼叫,此呼叫會在處置時阻塞(若該值已開始但尚未完成,可能包括建構該價值本身)。
呼叫此方法會使該物件進入處置狀態,未來為取得該值而呼叫時會拋出 ObjectDisposedException。
如果價值已經產生並實施 IDisposable 或 IAsyncDisposable,將會被處置。 若價值工廠已啟動但尚未完成,則價值工廠完工時其價值將被處置。
如果先前為了取得該值的呼叫在此方法被呼叫時仍在進行中,這些呼叫 可能會 完成,呼叫者可能會獲得該值,儘管 Dispose() 可能已被或即將被呼叫,導致使用者體驗到一個 ObjectDisposedException。
請注意所有基於實作 IDisposable 值或 IAsyncDisposable 基於實際值的條件,而非 T 型別參數。 這表示雖然 T 可能 ( IFoo 但不實作 IDisposable),但實作 IFoo 的具體型態可實作 IDisposable ,因此如上所述被視為一次性物件。