Descarte

Autor: Lewis Jackson
Data De Criação: 8 Poderia 2021
Data De Atualização: 1 Julho 2024
Anonim
PHILOSOPHY - René Descartes
Vídeo: PHILOSOPHY - René Descartes

Contente

Definição - O que significa Dispose?

No contexto do C #, disposição é um método de objeto chamado para executar o código necessário para limpeza de memória e liberar e redefinir recursos não gerenciados, como identificadores de arquivo e conexões com o banco de dados. Dispose melhora o desempenho e otimiza a memória liberando objetos não gerenciáveis ​​e recursos escassos, como identificadores de interface de dispositivo gráfico (GDI) usados ​​em aplicativos com espaço restrito no Windows.

O método Dispose, fornecido pela interface IDisposable, implementa chamadas Dispose. O padrão Dispose foi desenvolvido para limpeza oportuna e previsível, prevenção de vazamentos temporários de memória e descarte de recursos.


Uma introdução ao Microsoft Azure e Microsoft Cloud | Neste guia, você aprenderá sobre o que é a computação em nuvem e como o Microsoft Azure pode ajudá-lo a migrar e administrar seus negócios a partir da nuvem.

Techopedia explica Dispose

A estrutura do .NET facilita a coleta de lixo (GC), gerencia a memória e os recursos dos objetos e recupera referências inválidas da memória de objetos invocando Finalize - um método não determinístico. O método Dispose controla a vida útil das instâncias de memória do objeto e fornece controle explícito de limpeza de memória, versus Finaliza a limpeza implícita de memória. Dispose pode ser chamado mesmo quando existem outras instâncias de objetos de memória, enquanto Finalize só pode ser chamado após a destruição do último objeto de memória.

As regras do método Dispose são as seguintes:


  • Usado para recursos não gerenciados que exigem liberação imediata após o uso.
  • Se Dispose não for chamado, o método Finalize deve ser implementado.
  • Depois de chamar o método Dispose, o método GC.SuppressFinalize deve ser chamado para evitar o método Finalize e evitar o GC desnecessário.
  • As exceções devem ser tratadas com cuidado se o método Dispose for invocado mais de uma vez. Se os recursos forem descartados, qualquer método de instância poderá lançar o ObjectDisposedException.
  • Um objeto com um método Dispose chamado anteriormente não pode ser reutilizado.
  • Dispose é recomendado apenas para o gerenciamento de objetos de recursos nativos e objetos COM (Component Object Model) expostos ao .NET Framework.
  • Dispose não pode ser chamado simultaneamente de vários threads, devido a resultados imprevisíveis.
  • Os tipos de valor não devem ser criados como tipos descartáveis ​​ou com membros de recursos não gerenciados.
  • Ao usar recursos não gerenciados, é considerado uma prática recomendada aplicar a instrução Using códigos-fonte, que invoca automaticamente o método Dispose dos objetos após a conclusão do código do objeto.
Essa definição foi escrita no con do C #