AsyncLazy<T>.DisposeValue Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Descarta o valor inicializado lentamente se for descartável e faz com que todas as tentativas subsequentes de obter o valor falhem.
public void DisposeValue ();
member this.DisposeValue : unit -> unit
Public Sub DisposeValue ()
Comentários
Essa chamada será bloqueada no descarte (que pode incluir a construção do próprio valor se ele já tiver sido iniciado, mas ainda não tiver sido concluído) se for a primeira chamada para descartar o valor.
Chamar esse método colocará esse objeto em um estado descartado em que chamadas futuras para obter o valor gerarão ObjectDisposedException.
Se o valor já tiver sido produzido e implementar IDisposable ou IAsyncDisposable, ele será descartado. Se a fábrica de valores já tiver sido iniciada, mas ainda não tiver sido concluída, seu valor será descartado quando a fábrica de valores for concluída.
Se chamadas anteriores para obter o valor estiverem em andamento quando esse método for chamado, essas chamadas poderão ser concluídas e seus chamadores poderão obter o valor, embora Dispose() possam ter sido ou serão chamados em breve no valor , levando esses usuários a experimentar um ObjectDisposedException.
Observe que todas as condições com base no valor que implementa IDisposable ou IAsyncDisposable se baseiam no valor real, em vez do argumento de T
tipo. Isso significa que, embora T
possa ser IFoo
(que não implementa IDisposable), o tipo concreto que implementa IFoo
pode implementar IDisposable e, portanto, ser tratado como um objeto descartável, conforme descrito acima.