在.Net中释放非托管资源主要有2种方式,Dispose,Finalize
Dispose方法,对象要继承IDisposable接口,也就会自动调用Dispose方法。
Class Suifeng:System.IDisposable
{
#region IDisposable 成员
public void Dispose()
{
//
}
#endregion
}
Suifeng suiFeng= new Suifeng ();
suiFeng.Dispose();
也可以使用Using语句
(using Suifeng suiFeng= new Suifeng())
{
//
}
Finalize()方法
MSDN上的定义是允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。
它的本质就是析构函数
protected override void Finalize()
{
try
{
// Cleanup statements...
}
finally
{
base.Finalize();
}
} |