Синтаксис деструкторов в C# и C++
В языках программирования C# или C++ нельзя вызывать или переопределять метод Object.Finalize. В C# деструкторы используются при написании кода завершения, что рассматривается в разделе Деструкторы (Руководство по программированию в C#).
В C++ синтаксис деструктора используется для реализации метода Dispose. В C++ для реализации метода Finalize служит собственный синтаксис, который рассматривается в разделе Destructors and Finalizers in Visual C++.
Примечание |
---|
В версиях платформы .NET Framework до версии 2.0 в C++, как в C#, для реализации метода Finalize использовался синтаксис инструктора, особый синтаксис для реализации метода Dispose отсутствовал.Для компиляции кода C++ с более ранним синтаксисом следует использовать параметр компилятора /clr:oldSyntax. |
Хотя деструкторы в C# и C++ схожи, их семантика отличается от семантики деструкторов в неуправляемом коде C++. Управляемый программный код не поддерживает ничего подобного семантике деструктора C++.
См. также
Ссылки
Основные понятия
Переопределение метода Finalize