AsyncLazy<T>.DisposeValueAsync Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Elimina il valore inizializzato lazialmente se eliminabile e fa sì che tutti i tentativi successivi di ottenere il valore non riescano.
public System.Threading.Tasks.Task DisposeValueAsync();
member this.DisposeValueAsync : unit -> System.Threading.Tasks.Task
Public Function DisposeValueAsync () As Task
Valori restituiti
Attività che viene completata quando il valore è stato eliminato o immediatamente se il valore è già stato eliminato o è stato pianificato per l'eliminazione da una chiamata precedente.
Commenti
Se si chiama questo metodo, questo oggetto verrà inserito in uno stato eliminato in cui le chiamate future per ottenere il valore genereranno ObjectDisposedException.
Se il valore è già stato prodotto e implementa IDisposable, IAsyncDisposableo IAsyncDisposable verrà eliminato. Se la factory di valori è già stata avviata ma non è ancora stata completata, il relativo valore verrà eliminato al termine della factory del valore.
Se le chiamate precedenti per ottenere il valore sono in anteprima quando questo metodo viene chiamato, tali chiamate possono completare e i chiamanti possono ottenere il valore, anche se Dispose() potrebbero essere stati o presto verranno chiamati sul valore, portando tali utenti a sperimentare un ObjectDisposedException.
Si notino tutte le condizioni in base al valore che implementa IDisposable o IAsyncDisposable si basa sul valore effettivo, anziché sull'argomento T di tipo. Ciò significa che anche se T può essere IFoo (che non implementa IDisposable), il tipo concreto che implementa IFoo può implementare IDisposable e quindi essere considerato come un oggetto eliminabile come descritto in precedenza.