根据。net的垃圾回收机制,写析构函数应该注意什么。 析构实际上就是Finalize方法,写析构就成了终止化对象。首先什么情况下才需要写析构,什么情况下不需要写析构。析构函数里应该有哪些操作,不应该有哪些操作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接重写Finalize方法的比较少,一般会去实现IDispose接口,关闭一些重要资源,比如数据库连接,IO连接,非托管对象的释放等。Finalize中不应该再引发异常。 析构函数肯定会被调用。什么时候被调用是不确定的。C#依赖垃圾回收器回收资源析构函数用于析构类的实例。析构函数是由垃圾回收器在清理对象时调用的http://topic.csdn.net/u/20090407/09/50860655-1d4d-4feb-843d-77de2b3996df.html 补充一下,就是因为Finalize方法被GC调用的时机是不确定的。如果有重要资源需要及时释放的话,应该实现IDisposable接口而不是析构函数。而且调用方,应该主动,显示的调用IDisposable对象的Dispose方法。或者用using语句块。 如何使用SqlDataReader逐行读取数据 C# 不在智能感知中提示 C# 对comboBox添加某些功能,想QQ登陆窗一样有个小叉叉,该什么实现 Formula One 导出 Excel ############# c# 求助 如何使listview中的字居中############### 水晶报表为何不能显示原来选择数据? 有高手知道吗?关于C#与component 求源码ftp! 如何判断鼠标在窗体外的停留和移动 c#中Access数据库的修复。 怎么判断combobox中是否已经有某一项 md5加密算法疑惑,数据的添加
关闭一些重要资源,比如数据库连接,IO连接,非托管对象的释放等。Finalize中不应该再引发异常。
析构函数用于析构类的实例。
析构函数是由垃圾回收器在清理对象时调用的
http://topic.csdn.net/u/20090407/09/50860655-1d4d-4feb-843d-77de2b3996df.html
如果有重要资源需要及时释放的话,应该实现IDisposable接口而不是析构函数。
而且调用方,应该主动,显示的调用IDisposable对象的Dispose方法。或者用using语句块。