给定一个方法
public static string[] Foo(System.IO.Stream stream)
{
XmlTextWriter xmlWriter = new XmlTextWriter(stream, System.Text.Encoding.ASCII);
xmlWriter.WriteStartDocument();
xmlWriter.WriteStartElement("Element");
xmlWriter.WriteEndElement();
xmlWriter.WriteEndDocument();
xmlWriter.Flush();
return new string[3]{"1", "2", "3"};
}
和一个调用代码
using(MemoryStream memStream = new MemoryStream())
{
string[] playerIDs = PlayerCommand.Foo(stream);
// do some stuff with stream and playerIDs
}
当控件超出 using 指令时,是否存在 xmlWriter 未在 Foo 中显式关闭的问题(这会使流无用)?
此外,在方法之间传递 Stream 是否令人讨厌,是否有更好的方法将 XMLWriting 的结果传递回调用代码(这会将其压缩并归档)?
在此先感谢,格雷格