Compartilhar via


Stream.Dispose Método

Definição

Libera todos os recursos usados pelo objeto Stream.

Sobrecargas

Dispose()

Libera todos os recursos usados pelo Stream.

Dispose(Boolean)

Libera os recursos não gerenciados usados pelo Stream e opcionalmente libera os recursos gerenciados.

Dispose()

Origem:
Stream.cs
Origem:
Stream.cs
Origem:
Stream.cs

Libera todos os recursos usados pelo Stream.

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

Implementações

Comentários

Esse método descarta o fluxo, gravando todas as alterações no repositório de backup e fechando o fluxo para liberar recursos.

Chamar Dispose permite que os recursos usados pelo Stream sejam realocados para outras finalidades. Para obter mais informações sobre Dispose, consulte Limpeza de recursos não gerenciados.

Notas aos Herdeiros

Coloque toda a lógica de limpeza para o objeto de fluxo em Dispose(Boolean). Não substitua Close().

Observe que, devido aos requisitos de compatibilidade com versões anteriores, a implementação desse método difere das diretrizes recomendadas para o padrão Dispose. Esse método chama Close(), que, em seguida, chama Dispose(Boolean).

Aplica-se a

Dispose(Boolean)

Origem:
Stream.cs
Origem:
Stream.cs
Origem:
Stream.cs

Libera os recursos não gerenciados usados pelo Stream e opcionalmente libera os recursos gerenciados.

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 gerenciados e não gerenciados; false para liberar apenas recursos não gerenciados.

Comentários

Você deve liberar todos os recursos especificando true para disposing. Quando disposing é true, o fluxo também pode garantir que os dados sejam liberados para o buffer subjacente e acessar outros objetos finalizáveis. Isso pode não ser possível quando chamado de um finalizador devido à falta de ordenação entre os finalizadores.

Se o fluxo estiver usando um identificador do sistema operacional para se comunicar com sua origem, considere usar uma subclasse de SafeHandle para essa finalidade.

Esse método será chamado pelo método público Dispose() e pelo Finalize() método , se ele tiver sido substituído. Dispose() invoca o método Dispose protegido com o parâmetro disposing definido como true. Finalize invoca Dispose com disposing definido como false.

Notas aos Herdeiros

Em classes derivadas, não substitua o Close() método , em vez disso, coloque todas as Stream lógica de limpeza no Dispose(Boolean) método .

Dispose() pode ser chamado várias vezes por outros objetos. Ao substituir Dispose(Boolean), tome cuidado para não referenciar objetos que tenham sido descartados anteriormente em uma chamada anterior para Dispose(). Para obter mais informações sobre como implementar Dispose(Boolean), consulte Implementando um método dispose.

Para obter mais informações sobre Dispose() e Finalize(), consulte Limpeza de recursos não gerenciados.

Aplica-se a