次の方法で共有


AsyncLazy<T>.DisposeValueAsync メソッド

定義

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

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

戻り値

値が破棄されたとき、または値が既に破棄されている場合、または以前の呼び出しによって破棄がスケジュールされている場合にすぐに完了するタスク。

注釈

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

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

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

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

適用対象