1

http://www.interact-sw.co.uk/iangblog/2004/04/26/yetmoretimedlocking

为什么需要这条线?

System.GC.SuppressFinalize(tl.leakDetector);

我本以为终结器不应该被禁止运行向剩余监视器发出警报的代码。

显然,我只查看调试版本。

谢谢

4

1 回答 1

1

该代码通过将终结器设置为leakDetectorDebug.Fail 来工作,因此当该对象终结时,您会在调试器中看到问题。

通过将 SuppressFinalize(..) 调用放在 Dispose() 方法中,它会导致该对象仅在未调用 Dispose 时触发 Debug.Fail。

于 2010-03-09T19:40:15.057 回答