Stream.Dispose Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Liberta todos os recursos usados pelo Stream objeto.
Sobrecargas
| Name | Description |
|---|---|
| Dispose() |
Liberta todos os recursos utilizados pelo Stream. |
| Dispose(Boolean) |
Liberta os recursos não geridos usados pelo Stream e opcionalmente liberta os recursos geridos. |
Dispose()
Liberta todos os recursos utilizados pelo Stream.
public:
virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
Implementações
Observações
Este método elimina o fluxo, escrevendo quaisquer alterações no armazenamento de suporte e fechando o fluxo para libertar recursos.
A chamada Dispose permite que os recursos usados pelo Stream sejam realocados para outros fins. Para mais informações sobre Dispose, consulte Limpeza de Recursos Não Geridos.
Notas para Herdeiros
Coloque toda a lógica de limpeza do seu objeto de stream em Dispose(Boolean). Não anule Close().
Note-se que, devido a requisitos de compatibilidade retroativa, a implementação deste método difere das orientações recomendadas para o padrão Disposter. Este método chama Close(), que depois chama Dispose(Boolean).
Aplica-se a
Dispose(Boolean)
Liberta os recursos não geridos usados pelo Stream e opcionalmente liberta os recursos geridos.
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 libertar recursos geridos e não geridos; false libertar apenas recursos não geridos.
Observações
Deves libertar todos os recursos especificando true para disposing. Quando disposing é true, o fluxo pode também garantir que os dados são esvaziados para o buffer subjacente e aceder a outros objetos finalizáveis. Isto pode não ser possível quando chamado por um finalizador devido à falta de ordenação entre os finalizadores.
Se o seu stream estiver a usar um handle do sistema operativo para comunicar com a sua fonte, considere usar uma subclasse de SafeHandle para este propósito.
Este método é chamado pelo método público Dispose() e pelo Finalize() método, se tiver sido sobreposto.
Dispose() invoca o método protegido Dispose com o disposing parâmetro definido como true.
Finalize invoca Dispose com disposing definido para false.
Notas para Herdeiros
Nas classes derivadas, não sobrescrevas o Close() método, coloca toda a lógica de limpeza do Stream no Dispose(Boolean) método.
Dispose() pode ser chamada várias vezes por outros objetos. Ao sobrescrever Dispose(Boolean), tenha cuidado para não referenciar objetos que já foram eliminados anteriormente numa chamada anterior para Dispose(). Para mais informações sobre como implementar Dispose(Boolean), consulte Implementar um Método de Eliminação.
Para mais informações sobre Dispose() e Finalize(), consulte Limpeza de Recursos Não Geridos.