Stream.Close 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.
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, verifique se cada Stream objeto foi descartado corretamente. Você pode declarar objetos dentro de um bloco (ou bloco no Visual Basic) para garantir que o fluxo e todos os seus recursos sejam descartados ou você pode chamar explicitamente Stream using
o método Using
Dispose .
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 como significa que os dados serão liberados do buffer para o fluxo, mas o estado AutoFlush true
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 podem ser codificados somente depois que o codificador recebe o caractere ou caracteres adjacentes.
Tentativas de manipular o fluxo depois que o fluxo foi fechado podem lançar um ObjectDisposedException .
Notas aos Herdeiros
Em classes derivadas, não substitua o método , em vez disso, coloque toda Close() a lógica de limpeza no método Stream
Dispose(Boolean) . Para obter mais informações, consulte Implementing a Dispose Method.