AsyncLazy<T>.DisposeValueAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.