Syntaxe de destructeur en langage C# et C++

Vous ne pouvez pas appeler ou substituer la méthode Object.Finalize à partir des langages de programmation C# ou C++. C# utilise des destructeurs comme mécanisme d'écriture du code de finalisation, conformément à la description de Destructeurs (Guide de programmation C#).

En C++, la syntaxe des destructeurs est utilisée pour implémenter la méthode Dispose. C++ utilise sa propre syntaxe pour implémenter la méthode Finalize, conformément à la description de Destructors and Finalizers in Visual C++.

RemarqueRemarque

Avant la version 2.0 du .NET Framework, C++ utilisait la syntaxe des destructeurs pour implémenter la méthode Finalize, comme le fait C#, et n'utilisait pas de syntaxe spécifique pour implémenter la méthode Dispose.Pour compiler du code C++ qui utilise la syntaxe antérieure, utilisez l'option de compilateur /clr:oldSyntax.

Bien qu'ils semblent semblables, les destructeurs C# et C++ n'ont pas la même sémantique que les destructeurs C++ non managés. Le code managé ne prend en charge aucun élément similaire à la sémantique du destructeur C++.

Voir aussi

Référence

Finalize

/clr (Compilation pour le Common Language Runtime)

Concepts

Substitution de la méthode Finalize

Autres ressources

Nettoyage de ressources non managées