Stream.Dispose Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.