Stream.Dispose Método

Definición

Libera todos los recursos utilizados por el objeto Stream.Releases all resources used by the Stream object.

Sobrecargas

Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the Stream.

Dispose(Boolean)

Libera los recursos no administrados que usa Stream y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

Dispose()

Libera todos los recursos que usa Stream.Releases all resources used by the 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 desecha el flujo, escribiendo los cambios en la memoria auxiliar y cerrando la secuencia para liberar los recursos.This method disposes the stream, by writing any changes to the backing store and closing the stream to release resources.

La Dispose llamada a permite que los recursos Stream utilizados por se reasignen para otros propósitos.Calling Dispose allows the resources used by the Stream to be reallocated for other purposes. Para obtener más información Disposeacerca de, consulte limpiar recursos no administrados.For more information about Dispose, see Cleaning Up Unmanaged Resources.

Notas a los desarrolladores de herederos

Coloque toda la lógica de limpieza del objeto de Dispose(Boolean)flujo en.Place all cleanup logic for your stream object in Dispose(Boolean). No invalide Close().Do not override Close().

Tenga en cuenta que, debido a los requisitos de compatibilidad con versiones anteriores, la implementación de este método difiere de la orientación recomendada para el patrón de Dispose.Note that because of backward compatibility requirements, this method's implementation differs from the recommended guidance for the Dispose pattern. Este método llama Close()a, que después Dispose(Boolean)llama a.This method calls Close(), which then calls Dispose(Boolean).

Dispose(Boolean)

Libera los recursos no administrados que usa Stream y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the Stream and optionally releases the managed resources.

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.true to release both managed and unmanaged resources; false to release only unmanaged resources.

Comentarios

Debe liberar todos los recursos especificando true para. disposingYou should release all resources by specifying true for disposing. Cuando disposing estrue, la secuencia también puede garantizar que los datos se vacíen en el búfer subyacente y tengan acceso a otros objetos que se pueden finalizar.When disposing is true, the stream can also ensure data is flushed to the underlying buffer, and access other finalizable objects. Esto puede no ser posible cuando se llama desde un finalizador debido a una falta de ordenación entre los finalizadores.This may not be possible when called from a finalizer due a lack of ordering among finalizers.

Si la secuencia utiliza un identificador del sistema operativo para comunicarse con su origen, considere la posibilidad de usar una SafeHandle subclase de para este propósito.If your stream is using an operating system handle to communicate with its source, consider using a subclass of SafeHandle for this purpose.

El método público Dispose y el Finalize método llaman a este método.This method is called by the public Dispose method and the Finalize method. Disposeinvoca el método protegido Dispose con el disposing parámetro establecido en true.Dispose invokes the protected Dispose method with the disposing parameter set to true. FinalizeDispose invoca con disposing establecido en false.Finalize invokes Dispose with disposing set to 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 flujos en el Dispose(Boolean) método.In derived classes, do not override the Close() method, instead, put all of the Stream cleanup logic in the Dispose(Boolean) method.

Dispose() puede recibir varias llamadas de otros objetos.Dispose() can be called multiple times by other objects. Al invalidar Dispose(Boolean), tenga cuidado de no hacer referencia a objetos que se hayan eliminado en una llamada anterior a Dispose().When overriding Dispose(Boolean), be careful not to reference objects that have been previously disposed of in an earlier call to Dispose(). Para obtener más información sobre cómo implementar Dispose(Boolean), vea implementar un método Dispose.For more information about how to implement Dispose(Boolean), see Implementing a Dispose Method.

Para obtener más información Dispose() sobre Finalize()y, consulte limpiar recursos no administrados.For more information about Dispose() and Finalize(), see Cleaning Up Unmanaged Resources.

Se aplica a