Синтаксис деструкторов в 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

/clr (компиляция CLR)

Основные понятия

Переопределение метода Finalize

Другие ресурсы

Очистка неуправляемых ресурсов