Releasing underlying Stream returned by Application.GetResourceStream on 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
的{{1}}属性提供的GetResourceStream
对象是这样的:
(我应该在流媒体上构建的阅读器上使用或避免使用Stream
吗?)
答案 0 :(得分:1)
StreamReader
的ctor有一个重载,让你告诉它保持流不被关闭。
另外,你有点向后(除非我误解)。这是调用Dispose
的{{1}}方法,而不是相反。