Stream.Close Método

Definición

Cierra la secuencia actual y libera los recursos (como sockets y identificadores de archivo) asociados a la secuencia actual. En lugar de llamar a este método, asegúrese de que la secuencia se elimina correctamente.

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

Comentarios

Este método llama Disposea , especificando true para liberar todos los recursos. No es necesario llamar específicamente al Close método . En su lugar, asegúrese de que todos los Stream objetos se eliminen correctamente. Puede declarar objetos dentro de un bloque /> de bloque en Visual Basic) para asegurarse de que la secuencia y todos sus recursos se eliminan, o bien puede llamar explícitamente al método .

El vaciado de la secuencia no vaciará su codificador subyacente a menos que llame explícitamente a una implementación de Flush o Close. Establecer AutoFlush en true significa que los datos se vaciarán del búfer a la secuencia, pero el estado del codificador no se vaciará. Esto permite al codificador mantener su estado (caracteres parciales) para que pueda codificar correctamente el siguiente bloque de caracteres. Este escenario afecta a UTF8 y UTF7, donde determinados caracteres solo se pueden codificar después de que el codificador reciba el carácter o los caracteres adyacentes.

Los intentos de manipular la secuencia después de cerrar la secuencia pueden producir un ObjectDisposedException.

Notas a los desarrolladores de herederos

En las clases derivadas, no invalide el Close() método, en su lugar, coloque toda la Stream lógica de limpieza en el Dispose(Boolean) método . Para obtener más información, vea Implementar un método Dispose.

Se aplica a

Consulte también