Nettoyage de ressources non managées
Il est recommandé d'empêcher les utilisateurs de votre application d'appeler directement la méthode Finalize d'un objet en limitant sa portée à Protected. De plus, il est vivement déconseillé d'appeler une méthode Finalize pour une autre classe que votre classe de base directement à partir du code de votre application. Pour libérer correctement des ressources non managées, il est recommandé d'implémenter une méthode Dispose ou Close publique qui exécute le code de nettoyage nécessaire pour l'objet. L'interface IDisposable fournit la méthode Dispose pour des classes de ressource qui implémentent l'interface. Étant donné qu'elle est publique, les utilisateurs de votre application peuvent appeler la méthode Dispose directement pour libérer la mémoire utilisée par des ressources non managées. Lorsque vous implémentez correctement une méthode Dispose, la méthode Finalize devient un dispositif de protection pour le nettoyage des ressources au cas où la méthode Dispose ne serait pas appelée. Pour plus d'informations sur l'implémentation correcte, consultez Implémentation d'une méthode Dispose.
Dans cette section
Implémentation d'une méthode Dispose
Décrit l'implémentation de la méthode Dispose pour libérer des ressources non managées.Destructeurs et méthodes Finalize
Décrit comment les destructeurs et les méthodes Finalize permettent à un objet d'effectuer les opérations de nettoyage nécessaires avant que le garbage collector ne récupère automatiquement la mémoire de l'objet.Substitution de la méthode Finalize
Décrit la manière dont les méthodes Finalize et Dispose fonctionnent ensemble.Syntaxe de destructeur en langage C# et C++
Décrit les équivalents C# et C++ de la méthode Finalize.Utilisation d'objets encapsulant des ressources
Décrit les manières de garantir que la méthode Dispose est appelée, telles que l'instruction using C# (Using en Visual Basic).
Référence
- System.IDisposable
Définit la méthode Dispose pour libérer des ressources non managées.