当使用Application.GetResourceStream
访问资源时,它返回StreamResourceInfo
类的实例,该类未实现IDisposable。
在WP7设备上处理完流后,是否应该关闭\处置StreamResourceInfo
公开的基础流-我不想了解Using
或Dispose模式。
一个示例就是使用该方法来访问ZAP软件包中包含的ZIP文件,并且一旦我解压缩了文件,就不再需要Stream
实例了。
最佳答案
here提供的代码示例未使用using
,Close()
或Dispose()
。
由于StreamResourceInfo
的文档没有提到Close()
或Dispose()
(而且StreamResourceInfo
实际上并不继承自Stream
或可能实现这些方法的其他任何东西),所以我认为让对象超出范围并自然地进行垃圾回收是安全的。
我怀疑StreamResourceInfo
类具有一个终结器,该终结器会在垃圾回收期间在基础Dispose()
对象上调用Stream
,但目前我没有Reflector的副本可用于验证这一点。在这方面,IDisposable
模式非常健壮。
但是,如果您仍然对这种不确定性感到不满意,可以随时在Close()
对象上调用Stream
。
关于c# - 释放WP7上Application.GetResourceStream返回的基础Stream,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6200732/