Despose模式
class Obj : IDisposable
{
bool disposed;
~Obj()
{
//被GC调用
Dispose(false);
}
publicvoid Dispose()
{
//用户调用
Dispose(true);
}
void Dispose(bool disposing) { if (!disposed)
{
if (disposing)
{
//这里表明此方法被用户调用,这里释放所有托管资源(如调用其他对象的Dispose())
}
//释放任何非托管资源
//防止用户调用后,GC再重复调用
GC.SuppressFinalize(this);
//防止用户重复调用
disposed =true;
}
}
}
浙公网安备 33010602011771号