处理 StringReader 后使用 XPathNavigator

Using XPathNavigator after disposing of StringReader

似乎找不到明确的答案。

我想知道在使用 StringReader 初始化 XPathDocument 并获得 XPathNavigator 后,如果在处理 StringReader 后使用 Navigator,我是否会出错?

这是一个例子。

XPathDocument doc = null;
XPathNavigator nav = null;

using (var reader = new StringReader(config))
{
    doc = new XPathDocument(reader);
    nav = doc.CreateNavigator();
    nav.MoveToFirstChild();
}

var test = nav.SelectSingleNode("testNode");

如果我继续使用这个导航对象,我会收到错误消息吗,因为 reader 将被处理掉?

您将能够继续使用导航。 StringReader 所做的只是读取一个配置文件,该文件将传递给您的 XPathDocument 文档。等它的工作完成了,它的数据就全部用完了。