在C#中,为什么可以';我不能进入这条流吗?

在C#中,为什么可以';我不能进入这条流吗?,c#,stream,nhibernate-3,C#,Stream,Nhibernate 3,我从NHibernate3食谱(顺便说一句,这是一本好书)中得到了这段代码,虽然我在勘误表中找不到任何关于它的信息。我收到错误“无法访问封闭流”: 错误被抛出到sr.ReadToEnd()行。毕竟发现了类似的问题。基本上,我删除了读者周围的用法,一切都很好 var settings = new XmlWriterSettings { Indent = true }; var serializer = new XmlSerializer(typeof(HbmMapping)); // todo

我从NHibernate3食谱(顺便说一句,这是一本好书)中得到了这段代码,虽然我在勘误表中找不到任何关于它的信息。我收到错误“无法访问封闭流”:


错误被抛出到sr.ReadToEnd()行。

毕竟发现了类似的问题。基本上,我删除了读者周围的用法,一切都很好

 var settings = new XmlWriterSettings { Indent = true };
 var serializer = new XmlSerializer(typeof(HbmMapping)); // todo: probably should abstract this out, at least optionally
 using (var memStream = new MemoryStream(2048))
 using (var xmlWriter = XmlWriter.Create(memStream, settings))
 {
     serializer.Serialize(xmlWriter, hbmMapping);
     memStream.Flush();
     memStream.Position = 0;

     using (var sr = new StreamReader(memStream))
     {
         return sr.ReadToEnd();
     }
 }