クラスがアンマネージリソースをフィールドに保持する場合、またはIDisposableインターフェイスを実装するクラスをフィールドに保持する場合、そのクラスはIDisposableインターフェイスを実装する必要がある。 IDisposableを実装する際は以下の要件を満たすために、Dispose Finalizeパターンを適用する。 Dispose()はマネージリソースとアンマネージリソースの解放処理を行う。 デストラクタはアンマネージリソースの解放処理を行う。 Dispose()が呼び出された場合、デストラクタがGCによって呼び出されることのないようにする。 Dispose()は複数回呼び出されても良いようにする。 Dispose()、デストラクタでは、例外がスローされないようにする。 Dispose()が呼び出された後にDispose()以外のパブリックメソッドを呼び出すとObjectD