我正在使用 XML 对类对象进行序列化和反序列化时,我遇到了这篇博文,该博文展示了如何在 Windows Phone 7 上使用隔离的存储区域进行序列化和反序列化。Windows Phone 7 是我正在开发的平台:
在此示例中,他显式调用Dispose()的唯一对象是 TextReader 对象。我在 MSDN 上查找了 TextReader 对象,发现文档是这样说的:
释放 TextReader 使用的非托管资源,并可选择释放托管资源。
所以我假设他这样做的原因是立即释放 TextReader 对象获取的非托管资源。如果不是因为他的博客文章,我不会想到这样做。显然,我不想开始对可见的每个对象调用 Dispose(),那么对于至少调查特定对象何时应该调用 Dispose() 来说,有什么好的经验法则?是否有一些指导方针或某个地方的列表,至少是需要这种特殊处理的流行 .NET 对象?