AsyncLazy<T>.DisposeValueAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
破棄可能な場合は遅延初期化された値を破棄し、それ以降のすべての値の取得が失敗します。
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する具象型が を実装IFoo
IDisposableし、したがって前述のように破棄可能なオブジェクトとして扱われることを意味T
します。