使用 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/