这里提供了一个代码模板,直接套用就行.
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);
}
}
~~THE END~~
尹曙光
本文提供了一个C#代码模板,展示了如何在类中实现IDisposable接口,确保资源在不再需要时得到正确清理。通过实现Dispose()方法和Disposing()保护方法,可以有效地管理托管和非托管资源,避免资源泄露。
45

被折叠的 条评论
为什么被折叠?



