AsyncLazy<T>.DisposeValueAsync Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Usuwa z opóźnieniem zainicjowaną wartość, jeśli jest jednorazowa, i powoduje, że wszystkie kolejne próby uzyskania wartości kończą się niepowodzeniem.
public System.Threading.Tasks.Task DisposeValueAsync();
member this.DisposeValueAsync : unit -> System.Threading.Tasks.Task
Public Function DisposeValueAsync () As Task
Zwraca
Zadanie, które kończy się, gdy wartość została usunięta, lub natychmiast, jeśli wartość została już usunięta lub została zaplanowana do usunięcia przez wcześniejsze wywołanie.
Uwagi
Wywołanie tej metody spowoduje umieszczenie tego obiektu w stanie usunięcia, w którym przyszłe wywołania w celu uzyskania wartości będą zgłaszać wartość ObjectDisposedException.
Jeśli wartość została już utworzona i implementuje IDisposablewartość , IAsyncDisposablelub IAsyncDisposable zostanie usunięta. Jeśli fabryka wartości została już uruchomiona, ale nie została jeszcze ukończona, jej wartość zostanie usunięta po zakończeniu fabryki wartości.
Jeśli przed wywołaniami uzyskania wartości są w locie po wywołaniu tej metody, te wywołania mogą zostać ukończone, a ich osoby wywołujące mogą uzyskać wartość, chociaż Dispose() mogły być lub wkrótce zostaną wywołane na wartość, co doprowadziło tych użytkowników do środowiska ObjectDisposedException.
Zwróć uwagę na wszystkie warunki na podstawie implementacji IDisposable wartości lub IAsyncDisposable jest oparta na rzeczywistej wartości, a nie na argumencie T typu. Oznacza to, że chociaż T może być IFoo (co nie implementuje IDisposable), konkretny typ, który implementuje IFoo , może być implementowany IDisposable , a tym samym być traktowany jako obiekt jednorazowy, jak opisano powyżej.