言語

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が発生する可能性があります。

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

適用対象