AsyncLazy<T>.DisposeValue 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 void DisposeValue();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()
Commenti
Questa chiamata bloccherà lo smaltimento (che può includere la costruzione del valore stesso se è già stato avviato ma non ancora completato) se è la prima chiamata a eliminare il valore.
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 implementato IDisposable o 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.