XmlReader 和 IDisposable

4
也许我的眼花了,但是在.NET 2.0中,XmlReader实现了Dispose方法,但是却没有Dispose()方法吗?我看到它有Dispose(bool)方法,但是没有无参的重载。
2个回答

2
它明确实现了 System.IDisposable.Dispose()。Dispose(boolean) 是一个普通方法,用于执行此操作...
protected virtual void Dispose(bool disposing)
{
    if (this.ReadState != ReadState.Closed)
    {
        this.Close();
    }
}

谢谢。我知道这只是我忽略了的一些简单东西。 - Nick

1

...所以你需要这样调用它

    XmlReader r = XmlReader.Create(s);
    ((IDisposable)r).Dispose();

使用using块也可以,因为它会隐式转换为IDisposable。 - Nick
我想在这个对话的语境下,我不应该使用“隐式”这个词。 - Nick
我是否正确地假设调用.Close()方法将起到相同的作用? - ganders

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接