Compartir vía


Stream.Dispose Método

Definición

Libera todos los recursos utilizados por el objeto Stream.

Sobrecargas

Dispose()

Libera todos los recursos que usa Stream.

Dispose(Boolean)

Libera los recursos no administrados que usa Stream y, de forma opcional, libera los recursos administrados.

Dispose()

Source:
Stream.cs
Source:
Stream.cs
Source:
Stream.cs

Libera todos los recursos que usa 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 cualquier cambio en la memoria auxiliar y cerrando la secuencia para liberar recursos.

La llamada Dispose permite reasignar los recursos utilizados por para Stream 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)

Source:
Stream.cs
Source:
Stream.cs
Source:
Stream.cs

Libera los recursos no administrados que usa Stream y, de forma opcional, 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

Es true para liberar tanto recursos administrados como no administrados; es false para liberar únicamente 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 fin.

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 en true. FinalizeDispose invoca con disposing establecido en false.

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() puede recibir varias llamadas de otros objetos. Al invalidar Dispose(Boolean), tenga cuidado de no hacer referencia a objetos que se hayan eliminado 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