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