Sdílet prostřednictvím


AsyncLazy<T>.DisposeValueAsync Metoda

Definice

Odstraní líně inicializovanou hodnotu, pokud je k dispozici, a způsobí, že všechny následné pokusy o získání hodnoty selžou.

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

Návraty

Úkol, který se dokončí, když byla hodnota odstraněna, nebo okamžitě, pokud již byla hodnota odstraněna nebo byla naplánována k odstranění předchozím voláním.

Poznámky

Voláním této metody se tento objekt uvede do uvolněného stavu, kde budoucí volání k získání hodnoty vyvolají ObjectDisposedException.

Pokud již byla hodnota vytvořena a implementuje IDisposable, IAsyncDisposablenebo IAsyncDisposable bude odstraněna. Pokud objekt pro vytváření hodnot již začal, ale ještě nebyl dokončen, bude jeho hodnota po dokončení objektu pro vytváření hodnot odstraněna.

Pokud jsou předchozí volání k získání hodnoty v provozu při volání této metody, tato volání mohou být dokončena a jejich volající mohou získat hodnotu, ačkoli Dispose() mohou být nebo brzy volána pro hodnotu, což vede tyto uživatele k tomuto uživateli ObjectDisposedException.

Všimněte si všech podmínek založených na implementování IDisposable hodnoty nebo IAsyncDisposable na skutečné hodnotě, nikoli na argumentu T typu. To znamená, že i když T může být IFoo (což neimplementuje IDisposable), konkrétní typ, který implementuje IFoo , může implementovat IDisposable , a proto se s ním zachází jako s jednorázovým objektem, jak je popsáno výše.

Platí pro