So verwende ich das Filestream innerhalb xmlreader
Warum Filestream nicht von xmlreader geschlossen
using (XmlReader reader = XmlReader.Create(new FileStream(archivePath, FileMode.Open), readerSettings))
{
reader.close()
}
jedoch die Datei-Feed in die xmlreader noch im verriegelten Zustand nach der Verwendung von Rahmen, sonderbar, thougt ich die xmlreader
wird um den filestream für mich zu schließen, ist es nicht?
Danke für Hilfe.
um ehrlich zu sein, nein. Ich dachte, XmlReader ist wie StreamReader, schließt den inneren Stream sobald es fertig ist. Verwenden Sie zwei Using-Anweisung ist nur ein bisschen ungeschickt. –
Anekdotisch, aber die meisten Beispiele, die ich sehe, verwenden die zwei 'using's. –
@TOMMYWANG: Nun, Sie denken vielleicht, aber ich kann nirgends im Code finden (unter Verwendung von Reflektor), wo 'XmlTextReaderImpl' (was' XmlReader.Create() 'tatsächlich zurückgibt) über den Stream verfügt. Wenn es den Stream schließen würde, würden Sie Probleme bekommen, wenn Sie einen Stream für mehrere Leser verwenden (was ist, wenn ich den Stream am Leben halten will? Warum sollte der Leser entscheiden, dass ich das nicht kann?), So dass es die sichere Vorgehensweise erfordert nichts. Ich stimme nicht zu, dass es "ungeschickt" ist, aber "tollpatschig" ist besser als "kaputt". –