Compartilhar via


Substituindo o método de finalização

A Finalizar método atua sistema autônomo uma medida de proteção para limpar recursos caso seu Descartar método não é chamado.Você só deve implementar um Finalizar método para limpar recursos não gerenciados.Você não deve implementar um Finalizar método gerenciado objetos, porque o coletor de lixo limpará recursos gerenciados automaticamente.Por padrão, a Método objeto.Finalize não faz nada.Se você desejar que o coletor de lixo para executar operações de limpeza em seu objeto antes que ele recupera a memória do objeto, você deve substituir esse método na classe.

Observação:

Não é possível substituir o Finalizar método nas linguagens de programação translation from VPE for Csharp ou C++.No translation from VPE for Csharp, use sintaxe do destruidor para implementar o Finalizar método.Na versão 2.0 do .NET estrutura, C++ fornece sua própria sintaxe para implementar o Finalize método, conforme descrito em Destruidores e Finalizers em Visual C++. Em versões anteriores, C++ usado destruidor sintaxe para o Finalize método, sistema autônomo translation from VPE for Csharp faz.

O escopo do objeto.Finalize método está protegido.Quando você substituir o método na sua classe, você deve manter este escopo limitado.Mantendo um Finalizar método protegido, você impedir que os usuários do seu aplicativo de chamar Finalizar método diretamente.

Finalizar método deve liberar todos os recursos que são mantidos até pelo objeto.Também deve telefonar o Finalizar método para a classe base do objeto.Finalizar método não deve chamar um método em todos os objetos Outros da sua classe base.Isso ocorre porque sistema autônomo outros objetos que está sendo chamados poderiam ser coletados ao mesmo time que o objeto de chamada, sistema autônomo no caso de um Common Language tempo de execução desligado.

Se você permitir exceções escapar a Finalizar método, o sistema pressupõe que o método retornado e continua chamando o Finalizar métodos de outros objetos.

Consulte também

Conceitos

Implementando um método Dispose

Sintaxe do destruidor em translation from VPE for Csharp e C++

Referência

Finalize

Outros recursos

Tratamento e lançamento de exceções

Fundamentos da Manipulação de Exceções