c# - XmlWriter : is calling Close() required if using a using block?

标签 c#

使用 using block (不调用 Close())创建 XmlWriter 是否足够,还是使用 try/finally block 并在 finally 中调用 Close() 更好?

最佳答案

using block 是 try/finally block 的快捷方式,它在任何实现 IDisposable 的对象上调用 Dispose()。

对于流和流编写器,Dispose() 通常手动调用 Close()。使用反射器,这里是 XmlWriter 的 Dispose 方法:

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

所以简短的回答是肯定的,using block 将为您处理关闭 XmlWriter。

关于c# - XmlWriter : is calling Close() required if using a using block?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639817/

相关文章:

c# - 通用图像类型 emgu C#

c# - 如何使用移位运算符将字节舍入为 0 或 255

c# - 如何生成一个范围内的随机日期?

像 Facebook 这样的 C# mongodb 模型

c# - 如何读取带有自定义扩展名的文本框的文件

c# - 创建一个 nuget 在 linux 和 windows 之间共享

c# - WPF 自定义 LED 复选框

c# - 使用 .MapOwinRoute() 而不是 OwinStartup/Configuration 类 - 协商返回 404

c# - “删除”基础成员?

c# - 将字符串转换为可为空的日期时间