XML を使用してクラス オブジェクトをシリアル化および逆シリアル化する作業を行っていたときに、分離ストレージ領域を使用して Windows Phone 7 でそれを行う方法を示すこのブログ投稿に出会いました。Windows Phone 7 は、私が開発しているプラットフォームです。
この例では、明示的にDispose()を呼び出すオブジェクトは TextReader オブジェクトだけです。MSDN で TextReader オブジェクトを調べたところ、ドキュメントに次のように記載されていることがわかりました。
TextReader によって使用されるアンマネージド リソースを解放し、オプションでマネージド リソースを解放します。
したがって、彼がこれを行う理由は、TextReader オブジェクトによって取得された管理されていないリソースをすぐに解放するためだと思います。彼のブログ投稿がなければ、私はこれをやろうとは思わなかったでしょう。明らかに、目に見えるすべてのオブジェクトで Dispose() の呼び出しを開始したくないので、特定のオブジェクトで Dispose() を呼び出す必要があるかどうかを少なくとも調査するための良い経験則は何ですか? 少なくとも、この特別な処理を必要とする一般的な .NET オブジェクトについて、これに関するガイドラインやリストはどこかにありますか?