Question

Perhaps my eyes are fooling me, but how is it that in .NET 2.0, XmlReader implements Dispose but does not have a Dispose() method? I see it has Dispose(bool), but not a parameterless overload.

Was it helpful?

Solution

It implements it explicitly System.IDisposable.Dispose(). Dispose(boolean) is a normal method that does this ...

protected virtual void Dispose(bool disposing)
{
    if (this.ReadState != ReadState.Closed)
    {
        this.Close();
    }
}

OTHER TIPS

... so you need to call it for ex. this way

    XmlReader r = XmlReader.Create(s);
    ((IDisposable)r).Dispose();
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top