Partilhar via


AsyncLazy<T>.DisposeValue Método

Definição

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.

Aplica-se a