AsyncLazy<T>.DisposeValueAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Elimina el valor inicializado diferente si es descartable y hace que todos los intentos posteriores de obtener el valor produzcan un error.
public System.Threading.Tasks.Task DisposeValueAsync ();
member this.DisposeValueAsync : unit -> System.Threading.Tasks.Task
Public Function DisposeValueAsync () As Task
Devoluciones
Tarea que se completa cuando el valor se ha eliminado o inmediatamente si el valor ya se ha eliminado o se ha programado para su eliminación mediante una llamada anterior.
Comentarios
Al llamar a este método, este objeto se colocará en un estado eliminado en el que futuras llamadas para obtener el valor producirán ObjectDisposedException.
Si el valor ya se ha generado e implementa IDisposable, IAsyncDisposableo IAsyncDisposable se eliminará. Si el generador de valores ya se ha iniciado pero aún no se ha completado, su valor se eliminará cuando se complete la factoría de valores.
Si las llamadas anteriores para obtener el valor están en curso cuando se llama a este método, esas llamadas pueden completarse y sus autores de llamadas pueden obtener el valor, aunque Dispose() puede haber sido o pronto se llamará en el valor, lo que hace que esos usuarios experimenten un ObjectDisposedException.
Tenga en cuenta todas las condiciones basadas en el valor que implementa IDisposable o IAsyncDisposable se basa en el valor real, en lugar del T
argumento type. Esto significa que, aunque T
puede ser IFoo
(que no implementa IDisposable), el tipo concreto que implementa IFoo
puede implementar IDisposable y, por tanto, ser tratado como un objeto descartable como se ha descrito anteriormente.