这里提供了一个代码模板,直接套用就行.
public
class
BaseClass: IDisposable
{
// 实现 IDisposable 接口的Dispose()方法.
public void Dispose()
{
Disposing( true );
{
// 实现 IDisposable 接口的Dispose()方法.
public void Dispose()
{
Disposing( true );
//通知系统在清理资源时不要调用本对象的终结器
GC.SuppressFinalize( this );
GC.SuppressFinalize( this );
}
protected virtual void Disposing( bool disposing)
{
if (disposing)
{
// 在这里释放托管资源.
}
// 在这里释放非托管资源.
}
// Finalize 方法或析构函数.
~ Base()
{
Dispose ( false );
}
}
protected virtual void Disposing( bool disposing)
{
if (disposing)
{
// 在这里释放托管资源.
}
// 在这里释放非托管资源.
}
// Finalize 方法或析构函数.
~ Base()
{
Dispose ( false );
}
}
如果BaseClass下面有子类,下面是子类的模板
public
class
DerivedClass: BaseClass
{
protected override void Disposing( bool disposing)
{
if (disposing)
{
// 在这里释放托管资源.
}
// 在这里释放非托管资源.
{
protected override void Disposing( bool disposing)
{
if (disposing)
{
// 在这里释放托管资源.
}
// 在这里释放非托管资源.
//调用父类Disposing()方法
base .Disposing(disposing);
}
base .Disposing(disposing);
}
}
转载于:https://blog.51cto.com/kevdmx/100251