Compartilhar via


Substituindo o método de finalizar

A Finalize método atua como uma salvaguarda para limpar recursos caso sua Dispose não é chamado de método. Você só deve implementar um Finalize método de limpeza de recursos não gerenciados. Você não deve implementar um Finalize método para objetos gerenciados, porque o coletor de lixo limpa recursos gerenciados automaticamente. Por padrão, o o método de Object.Finalize não faz nada. Se desejar que o coletor de lixo para executar operações de limpeza em seu objeto antes de ele recupera a memória do objeto, você deve substituir esse método na sua classe.

Observação

Você não pode substituir o Finalize método nas linguagens de programação C# ou C++.No C#, use sintaxe do destruidor para implementar a Finalize método.Na versão 2.0 do.NET Framework, C++ fornece sua própria sintaxe para implementar o Finalize método, conforme descrito em Destructors and Finalizers in Visual C++.Em versões anteriores, C++ usavam a sintaxe do destruidor para o Finalize o método, como C# faz.

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

Um objeto Finalize método deve liberar todos os recursos que são mantidos pelo objeto. Ele também deve chamar o Finalize método para a classe base do objeto. Um objeto Finalize método não deve chamar um método em todos os objetos diferente de sua classe base. Isso ocorre porque os outros objetos sendo chamados podem ser coletados ao mesmo tempo que o objeto de chamada, como no caso de um desligamento de tempo de execução de linguagem comum.

Se você permitir exceções escapar do Finalize método, o sistema pressupõe que o método retornados e continua a chamada a Finalize métodos de outros objetos.

Consulte também

Referência

Finalize

Conceitos

Implementando um método Dispose

Sintaxe do destruidor em C# e C++

Tratamento e lançamento de exceções

Outros recursos

Fundamentos da Manipulação de Exceções