也许我的眼睛在愚弄我,但是在.NET 2.0中,XmlReader是如何实现Dispose但没有Dispose()方法的呢?我看到它有Dispose(bool),但不是无参数的重载。
答案 0 :(得分:2)
它显式地实现了System.IDisposable.Dispose()。 Dispose(boolean)是执行此操作的常规方法...
protected virtual void Dispose(bool disposing)
{
if (this.ReadState != ReadState.Closed)
{
this.Close();
}
}
答案 1 :(得分:1)
...所以你需要先叫它。这样
XmlReader r = XmlReader.Create(s);
((IDisposable)r).Dispose();