Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Substituindo o método Finalize

Um método de Finalize atua como proteção para limpar recursos caso o método de Dispose não for chamado. Você só deve implementar um método de Finalize para limpar recursos não gerenciados. Você não deve implementar um método de Finalize para objetos gerenciados, porque o coletor de lixo limpa automaticamente recursos gerenciados. Por padrão, Método de Object.Finalize não fará nada. Se você desejar que o coletor de lixo para executar operações de limpeza no seu objeto antes que recupera memória de objeto, você deve substituir esse método na sua classe.

Observação Observação

Você não pode sobrescrever o método de Finalize nas linguagens de programação de C# ou C++. Em C#, use sintaxe de destrutor para implementar o método Finalize . No .NET Framework versão 2,0, C++ fornece sua própria sintaxe para implementar o método Finalize , como descrito em Como: criar uma instância de Classes e estruturas. Em versões anteriores, a sintaxe usada C++ do destrutor para o método de Finalize , como C# faz.

O escopo de método Object.Finalize é protegido. Você deve manter este escopo limitado quando você substituir o método na sua classe. Mantendo um método de Finalize protegido, você impede os usuários do seu aplicativo chamem o método de Finalize de um objeto diretamente.

O método de Finalize de um objeto deve liberar quaisquer recursos que são mantidos pelo objeto. Também deve chamar o método de Finalize para a classe base do objeto. O método de Finalize de um objeto não deve chamar um método em quaisquer objetos diferentes de aquele da classe base. Isso ocorre porque os outros objetos que estão sendo chamados podem ser coletados ao mesmo tempo que o objeto de chamada, como no caso de um desligamento do Common Language Runtime.

Se você permite que qualquer exceção escape o método de Finalize , o sistema pressupõe que o método retornado, e continua a chamar os métodos de Finalize de outros objetos.

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.