2011-01-06 10 views
0

Ich habe diesen Block von Code aus dem NHibernate 3 Cookbook (ein ausgezeichnetes Buch, BTW), und während ich nichts in den Errata darüber finden konnte. Ich erhalte die Fehlermeldung „Kann nicht einen geschlossenen Strom zugreifen“:Warum kann ich in C# nicht auf diesen Stream zugreifen?

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(); 
    } 
} 

Der Fehler wird geworfen auf der sr.ReadToEnd() Linie.

Antwort