アンマネージ リソースのクリーンアップ
Finalize メソッドのスコープを protected に制限して、アプリケーションのユーザーがオブジェクトの Finalize メソッドを直接呼び出すことができないようにしておく必要があります。また、アプリケーションのコードから基本クラス以外のクラスの Finalize メソッドを直接呼び出さないでください。アンマネージ リソースを正しく破棄するには、そのオブジェクトのクリーンアップ コードを実行するパブリックな Dispose メソッドまたは Close メソッドを実装することをお勧めします。IDisposable インターフェイスには、このインターフェイスを実装するリソース クラスのための Dispose メソッドが用意されています。Dispose メソッドはパブリック メソッドなので、アプリケーションのユーザーはこのメソッドを直接呼び出して、アンマネージ リソースで使用しているメモリを解放できます。Dispose メソッドを適切に実装すると、Finalize メソッドは、Dispose メソッドが呼び出されなかった場合にリソースをクリーンアップするための安全装置になります。正しい実装の詳細については、「Dispose メソッドの実装」を参照してください。
このセクションの内容
- Dispose メソッドの実装
アンマネージ リソースの解放のための Dispose メソッドの実装について説明します。
- Finalize メソッドのオーバーライド
Finalize メソッドと Dispose メソッドの連携について説明します。
- C# および C++ のデストラクタ構文
C# と C++ における Finalize メソッドと同等の機能について説明します。
- リソースをカプセル化したオブジェクトの使用
C# の using ステートメント、Visual Basic の Using などで、Dispose メソッドが必ず呼び出されるようにします。
参照
- IDisposable
アンマネージ リソースの解放のための Dispose メソッドを定義します。