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 in modo differibile se eliminabile e causa l'esito negativo di tutti i tentativi successivi di ottenere il valore.
public System.Threading.Tasks.Task DisposeValueAsync ();
member this.DisposeValueAsync : unit -> System.Threading.Tasks.Task
Public Function DisposeValueAsync () As Task
Restituisce
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
La chiamata a questo metodo inserisce questo oggetto 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 del valore è 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 viene chiamato questo metodo, tali chiamate possono essere completate e i chiamanti possono ottenere il valore, anche se Dispose() potrebbe essere stato o presto verrà chiamato 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.