Stream.Dispose Método

Definición

Libera todos los recursos utilizados por el Stream objeto .

Sobrecargas

Nombre Description
Dispose()

Libera todos los recursos usados por .Stream

Dispose(Boolean)

Libera los recursos no administrados utilizados por Stream y, opcionalmente, libera los recursos administrados.

Dispose()

Libera todos los recursos usados por .Stream

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

Implementaciones

Comentarios

Este método elimina la secuencia, escribiendo los cambios en el almacén de respaldo y cerrando la secuencia para liberar recursos.

La llamada Dispose permite reasignar los recursos utilizados por el Stream objeto para otros fines. Para obtener más información sobre Dispose, vea Limpieza de recursos no administrados.

Notas a los desarrolladores de herederos

Coloque toda la lógica de limpieza del objeto de flujo en Dispose(Boolean). No invalide Close().

Tenga en cuenta que, debido a los requisitos de compatibilidad con versiones anteriores, la implementación de este método difiere de las instrucciones recomendadas para el patrón Dispose. Este método llama a Close(), que a continuación llama a Dispose(Boolean).

Se aplica a

Dispose(Boolean)

Libera los recursos no administrados utilizados por Stream y, opcionalmente, libera los recursos administrados.

protected:
 virtual void Dispose(bool disposing);
protected virtual void Dispose(bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)

Parámetros

disposing
Boolean

true para liberar recursos administrados y no administrados; false para liberar solo recursos no administrados.

Comentarios

Debe liberar todos los recursos especificando true para disposing. Cuando disposing es true, la secuencia también puede asegurarse de que los datos se vacían en el búfer subyacente y acceder a otros objetos finalizables. Esto puede no ser posible cuando se llama desde un finalizador debido a la falta de ordenación entre los finalizadores.

Si la secuencia usa un identificador de sistema operativo para comunicarse con su origen, considere la posibilidad de usar una subclase de SafeHandle para este propósito.

El método público Dispose() llama a este método y al Finalize() método , si se ha invalidado. Dispose() invoca el método protegido Dispose con el disposing parámetro establecido trueen . Finalize Dispose invoca con establecido en disposingfalse.

Notas a los desarrolladores de herederos

En las clases derivadas, no invalide el Close() método, en su lugar, coloque toda la lógica de limpieza de Stream en el Dispose(Boolean) método .

Dispose() otros objetos pueden llamar a ellos varias veces. Al invalidar Dispose(Boolean), tenga cuidado de no hacer referencia a objetos que se han eliminado previamente de en una llamada anterior a Dispose(). Para obtener más información sobre cómo implementar Dispose(Boolean), vea Implementación de un método Dispose.

Para obtener más información sobre Dispose() y Finalize(), vea Limpieza de recursos no administrados.

Se aplica a