Condividi tramite


AsyncLazy<T>.DisposeValueAsync Metodo

Definizione

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.

Si applica a