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()

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, escrevendo quaisquer alterações no armazenamento de back-back e fechando o fluxo para liberar recursos.

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

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 backward, a implementação desse método é diferente das diretrizes recomendadas para o padrão Dispose. Esse método chama Close() , que, em seguida, chama Dispose(Boolean) .

Aplica-se a

Dispose(Boolean)

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 é , o fluxo também pode garantir que os dados são liberados para o buffer subjacente e acessar disposing true outros objetos finalizáveis. Isso pode não ser possível quando chamado de um finalizador devido à falta de ordenação entre finalizadores.

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

Este método é chamado pelo método público Dispose e pelo método Finalize. 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 método , em vez disso, coloque toda a Close() lógica de limpeza do Stream no método Dispose(Boolean) .

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) o , consulte Implementando um método Dispose.

Para obter mais informações Dispose() sobre e , consulte Finalize() Limpando recursos nãomanagedos.

Aplica-se a