Syntaxe de destructeur en langage C# et C++
Mise à jour : novembre 2007
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++.
Remarque : |
---|
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
Concepts
Substitution de la méthode Finalize
Référence
/clr (Compilation pour le Common Language Runtime)