【问题标题】:XmlReader and IDisposableXmlReader 和 IDisposable
【发布时间】:2009-07-01 02:16:15
【问题描述】:

也许我的眼睛在愚弄我,但是在 .NET 2.0 中,XmlReader 是如何实现 Dispose 但没有 Dispose() 方法的?我看到它有 Dispose(bool),但不是无参数重载。

【问题讨论】:

    标签: .net-2.0 idisposable xmlreader


    【解决方案1】:

    它显式地实现了 System.IDisposable.Dispose()。 Dispose(boolean) 是执行此操作的常规方法...

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

    【讨论】:

    • 谢谢。我知道这很简单,我只是掩饰了。
    【解决方案2】:

    ...所以您需要将其称为 ex。这边

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

    【讨论】:

    • 一个 using 块也可以工作,因为它隐式转换为 IDisposable。
    • ...考虑到对话的上下文,我想我不应该使用“隐含”这个词。
    • 我是否正确地假设调用 .Close() 方法将达到相同的目的?
    猜你喜欢
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2011-02-07
    相关资源
    最近更新 更多