释放WP7上Application.GetResourceStream返回的基础流

Awk*_*der 5 c# silverlight windows-phone-7

使用Application.GetResourceStream它访问资源时返回类的实例StreamResourceInfo,此类不实现IDisposable.

StreamResourceInfo当我在WP7设备上完成处理流时,我应该关闭\处理暴露的底层流- 我不想知道Using或处理Dispose模式.

一个例子是使用该方法访问包含在ZAP包中的ZIP文件,一旦我解压缩文件,我就不再需要该Stream实例了.

Rob*_*vey 3

此处提供的代码示例未使用using,Close()Dispose()

由于文档StreamResourceInfo没有提到Close()Dispose()(并且StreamResourceInfo实际上没有继承Stream或任何其他可能实现这些方法的东西),我认为让对象超出范围并自然地进行垃圾收集是安全的。

我怀疑该类StreamResourceInfo有一个终结器,它在垃圾回收期间调用Dispose()底层Stream对象,但目前我没有可用的 Reflector 副本来验证这一点。这IDisposable模式相当稳健。

但是,如果您仍然对这种程度的不确定性感到不舒服,您可以随时调用Close()Stream对象。