对于Finalize方法和Dispose方法,有如下的规则,留作参考:
l 对于非托管资源的清理,Finalize由GC自行调用,而Dispose由开发者强制执行调用。
l 尽量避免使用Finalize方式来清理资源,必须实现Finalize时,也应一并实现Dispose方法,来
提供显式调用的控制权限。
l 通过GC. SuppressFinalize可以免除终结。
l 垃圾回收时,执行终结器的准确时间是不确定的,除非显式的调用Dispose或者Close方法。
l 强烈建议不要重写Finalize方法,同时强烈建议在任何有非托管资源访问的类中同时实现终止
化操作和Dispose模式。
l Finalize方法和Dispose方法,只能清理非托管资源,释放内存的工作仍由GC负责。
l 对象使用完毕应该立即释放其资源,最好显式调用Dispose方法来实现。
l 对于非托管资源的清理,Finalize由GC自行调用,而Dispose由开发者强制执行调用。
l 尽量避免使用Finalize方式来清理资源,必须实现Finalize时,也应一并实现Dispose方法,来
提供显式调用的控制权限。
l 通过GC. SuppressFinalize可以免除终结。
l 垃圾回收时,执行终结器的准确时间是不确定的,除非显式的调用Dispose或者Close方法。
l 强烈建议不要重写Finalize方法,同时强烈建议在任何有非托管资源访问的类中同时实现终止
化操作和Dispose模式。
l Finalize方法和Dispose方法,只能清理非托管资源,释放内存的工作仍由GC负责。
l 对象使用完毕应该立即释放其资源,最好显式调用Dispose方法来实现。