ライブラリを作成していると想像してください。たとえば、このライブラリは 24 時間年中無休のサーバー アプリケーションで使用される予定です。パブリック API にラップされた管理されていないリソースがいくつかあるため、Disposable パターンを実装します (ファイナライザーを実装することもできます)。
通常、using
管理されていないリソースを解放するにはステートメントを使用します。ただし、最終的なアプリケーションではなく、単なるライブラリを作成しています。別のプログラマーが呼び出すのを「忘れた」場合はどうなりますDispose()
か? ライブラリでリソースリークが発生します! ファイナライザーに依存することはできますが、ファイナライザーが呼び出されるという保証はありません。では、管理されていないリソースが何らかの形で解放されることを保証する方法はありますか? 何か案は?