我对这个类的理解是,当你想要确保类的终结器(析构函数)被调用时,你应该使用它,但从我做的几个测试来看,这似乎不是真的。如果它不能确保dispose方法被调用,有没有其他方法?例如,如果我想确保运行一些代码来结束我的对象,即使我通过任务管理器或其他什么方式关闭了我的程序?
发布于 2009-07-21 03:12:11
发布于 2009-07-21 03:12:03
从我做的几个测试来看,这似乎不是真的。
.Net中的终结器是不确定的。这意味着不能保证终结器被调用的确切时间。仅仅因为一个对象超出了作用域或者甚至被释放了,并不意味着终结器会立即被调用。垃圾收集器将在未来的某个未知时间绕过它。
发布于 2009-07-21 03:43:54
如果你真的需要代码来运行,当你的程序是++Del的时候,我不认为有任何其他的方法,除了有一个单独的程序来监控第一个的状态。如果你真的需要那么多架构,我想你会想要使用一个服务和一些客户端应用程序,或者一对或服务。
不过,这是假设您已经研究过Application事件。如果您还没有,请查看this overview。
比概述更好编辑的可能是ApplicationExit event。
https://stackoverflow.com/questions/1157090
复制相似问题