有没有办法在对象被销毁时运行一些代码?

Che*_*hev 1 .net c# garbage-collection pointers

在C#中我知道我的对象在超出范围时被垃圾收集,并且没有更多的指针/引用.有没有办法在这个垃圾收集发生时运行一些自定义代码?

Ben*_*igt 5

是的,它被称为终结者.http://msdn.microsoft.com/en-us/library/wxad3cah.aspx

许多C#文档令人困惑地使用术语"析构函数".虽然析构函数的C++命名在C#中用于终结器,但语义完全不同.如果你一直使用终结器一词,就不会有任何混淆.

  • 让我们不要忘记警告终结者的不确定行为.你永远不知道什么时候会被调用.在GC调用它之前可能需要很长时间. (2认同)