Idioma

AsyncLazy<T>.DisposeValue Método

Definição

Descarta o valor inicializado preguiçosamente, se 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 bloqueará o descarte (que pode incluir a construção do valor em si se ele já tiver sido iniciado, mas ainda não concluído) se for a primeira chamada a descartar o valor.

Chamar esse método colocará esse objeto em um estado descartado em que chamadas futuras para obter o valor serão geradas ObjectDisposedException.

Se o valor já tiver sido produzido e implementado 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 pré-lançamento 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 em breve serão chamados no valor, levando esses usuários a experimentar um ObjectDisposedException.

Observe todas as condições com base no valor implementado IDisposable ou IAsyncDisposable se baseia no valor real, em vez do argumento de T tipo. Isso significa que, embora T possa ser IFoo (o 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