次の方法で共有


AsyncLazy<T>.DisposeValue メソッド

定義

破棄可能な場合は遅延初期化された値を破棄し、それ以降のすべての値の取得が失敗します。

public void DisposeValue ();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()

注釈

この呼び出しは、値を破棄する最初の呼び出しである場合、破棄時にブロックされます (既に開始されているが、まだ完了していない場合は、値自体の構築が含まれる可能性があります)。

このメソッドを呼び出すと、このオブジェクトは破棄された状態になり、値を取得するための今後の呼び出しでは がスロー ObjectDisposedExceptionされます。

値が既に生成され、 または IAsyncDisposableを実装IDisposableしている場合は、 が破棄されます。 値ファクトリが既に開始されているが、まだ完了していない場合、値ファクトリが完了すると、その値は破棄されます。

このメソッドの呼び出し時に値を取得するための以前 の呼び 出しが進行中の場合、これらの呼び出しが完了し、呼び出し元が値を取得する可能性がありますが、 Dispose() 値に対して が呼び出されたか、間もなく呼び出され、それらのユーザーに が発生 ObjectDisposedExceptionします。

または を実装IDisposableIAsyncDisposableする値に基づくすべての条件は、型引数ではなく実際の値に基づいていることにT注意してください。 つまり、 T を実装しない ) であってもIFoo、 を実装IDisposableIFooする具象型は、上記のように破棄可能なオブジェクトとして扱われる可能性がありますIDisposable

適用対象