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 Stream objeto.
Sobrecargas
| Nome | Description |
|---|---|
| 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
- 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.
A chamada Dispose permite que os recursos usados pelo Stream usuário sejam realocados para outras finalidades. Para obter mais informações sobre Disposecomo limpar 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 então chama Dispose(Boolean).
Aplica-se a
Dispose(Boolean)
- Origem:
- Stream.cs
- Origem:
- Stream.cs
- 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 for 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 SafeHandle para essa finalidade.
Esse método é chamado pelo método público Dispose() e pelo Finalize() método, se tiver sido substituído.
Dispose() invoca o método protegido Dispose com o disposing parâmetro 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 toda a lógica de limpeza de fluxo no Dispose(Boolean) método.
Dispose() pode ser chamado várias vezes por outros objetos. Ao substituir Dispose(Boolean), tenha cuidado para não fazer referência a objetos que foram 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 Limpar recursos não gerenciados.