私はこれらの記事をDispose PatternとDispose Implementationで読んでいます。私の質問は、ファイナライザからvirtual dispose(bool)メソッドを呼び出すとき、なぜメソッドにfalseを渡してアンマネージリソースを解放するだけなのか?私たちが真実を伝えれば、何が壊れますか?パターン使用を廃棄する
がまたしても、我々はIDisposbleインタフェースを実装している、それはまだブロックを使用して内のコードをラップするかまたは呼び出されるのDispose()メソッドのために、明示的に()のDisposeを呼び出すために、開発者に依存しています。開発者が十分注意していない場合、IDisposbleインターフェースのアドオンは何ですか?
しかし、2番目のリンクは、イベントがフックされているなど、条件が真であるときに管理対象のソースのリリースを実装します。その場合、ファイナライザがメソッドをdisposeしてfalseを渡すと、イベントはunhookされず、メモリリークが発生します。そうではありませんか? – Helic
Disposeパターンは単なるガイドラインです。誰か他の人が正当な理由を持っているかもしれませんが、個人的にはDisposeのMSガイドラインに従います。 –