【发布时间】:2010-10-12 08:10:43
【问题描述】:
下面是一个典型的 dispose 模式示例:
public bool IsDisposed { get; private set; }
#region IDisposable Members
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
protected virtual void Dispose(bool disposing)
{
if (!IsDisposed)
{
if (disposing)
{
//perform cleanup here
}
IsDisposed = true;
}
}
~MyObject()
{
Dispose(false);
}
我了解 dispose 的作用,但我不明白您为什么要在析构函数中调用 dispose(false) ?如果您查看定义,它绝对不会做任何事情,那么为什么有人会编写这样的代码呢? not 从析构函数中调用 dispose 不是很有意义吗?
【问题讨论】: