Stream.Close Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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.