Compartilhar via


Stream.Close Método

Definição

Fecha o fluxo atual e libera todos os recursos (como soquetes e identificadores de arquivos) associados ao fluxo atual. Em vez de chamar esse método, verifique se o fluxo é descartado corretamente.

public:
 virtual void Close();
public virtual void Close ();
abstract member Close : unit -> unit
override this.Close : unit -> unit
Public Overridable Sub Close ()

Comentários

Esse método chama Dispose, especificando true para liberar todos os recursos. Você não precisa chamar especificamente o Close método . Em vez disso, certifique-se de que todos os Stream objetos sejam descartados corretamente. Você pode declarar Stream objetos dentro de um using bloco (ou Using bloquear no Visual Basic) para garantir que o fluxo e todos os seus recursos sejam descartados, ou você pode chamar explicitamente o Dispose método .

A liberação do fluxo não liberará seu codificador subjacente, a menos que você chame explicitamente uma implementação de Flush ou Close. Definir AutoFlush como true significa que os dados serão liberados do buffer para o fluxo, mas o estado do codificador não será liberado. Isso permite que o codificador mantenha seu estado (caracteres parciais) para que ele possa codificar o próximo bloco de caracteres corretamente. Esse cenário afeta UTF8 e UTF7, em que determinados caracteres só podem ser codificados depois que o codificador recebe o caractere ou caracteres adjacentes.

As tentativas de manipular o fluxo depois que o fluxo tiver sido fechado podem gerar um ObjectDisposedException.

Notas aos Herdeiros

Em classes derivadas, não substitua o Close() método , em vez disso, coloque toda a Stream lógica de limpeza no Dispose(Boolean) método . Para obter mais informações, consulte Implementando um método dispose.

Aplica-se a

Confira também