我的问题已经在 WP7 上的 Application.GetResourceStream 返回的发布底层流中被问到了,但我对这个问题有几个变体:
- 这适用于桌面 WPF 应用程序,而不是 WP7,如果它有任何区别的话。
- 我必须决定是否
using
在构建在流之上的流阅读器上使用块。
这是一些代码:
System.Windows.Resources.StreamResourceInfo ri =
App.GetResourceStream(new Uri("Resources/Idioms.txt", UriKind.Relative));
using (System.IO.StreamReader sr = new System.IO.StreamReader(ri.Stream))
{
idioms = sr.ReadToEnd().Split(lineSeps, StringSplitOptions.RemoveEmptyEntries);
}
现在 StreamReader 的 close 方法(我假设它是实现的方法IDisposable.Dispose
)表明它也关闭了底层流(我假设它也在实现IDisposable.Dispose
)。
关闭或处置IO.Stream
由GetResourceStream
' 的Stream
属性提供的对象也是如此:
- 预期的
- 可接受,或
- 不正确
using
(我应该在流顶部构建的阅读器上使用还是避免使用?)