C# および C++ のデストラクタ構文
更新 : 2007 年 11 月
C# プログラミング言語または C++ プログラミング言語からは、Object.Finalize メソッドを呼び出したり、オーバーライドしたりすることはできません。C# では、デストラクタを使用して終了コードを記述します。詳細については、「デストラクタ (C# プログラミング ガイド)」を参照してください。
C++ では、デストラクタ構文は Dispose メソッドを実装する目的で使用されます。C++ には、Finalize メソッドを実装するための独自の構文が用意されています。詳細については、「Destructors and Finalizers in Visual C++」を参照してください。
メモ : |
---|
.NET Framework Version 2.0 より前のバージョンでは、C++ でも C# と同じように Finalize メソッドを実装するのにデストラクタ構文を使用しました。Dispose メソッドを実装するための特別な構文はありませんでした。以前の構文を使用する C++ コードをコンパイルする場合は、/clr:oldSyntax コンパイラ オプションを使用します。 |
外観は似ていますが、C# デストラクタと C++ デストラクタには、アンマネージ C++ デストラクタと同じセマンティクスはありません。マネージ コードでは、C++ のデストラクタと類似のセマンティクスは一切サポートされていません。