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 実装でき、前述のように破棄可能なオブジェクトとして扱われます。