我已阅读MSDN需要取消订阅每个事件的对象必须能够从内存中释放它。我总是使用 - =删除对象内部的所有对事件的引用(如MSDN show)。我是否需要手动删除所有事件以使我的对象从内存中移除?
现在,我不得不维护代码,它有一些内存泄漏。我看到以前的开发人员只是简单地将所有事件订阅的对象设置为NULL,而不是 - 每个事件方法。
例子:
_watcher.Changed += new ...
_watcher.Created += new ...
_watcher.Deleted += ..
//later.
_watcher = NULL;
它是一个很好的方式或者它保持变量在内存中?
可能的重复 - http://stackoverflow.com/questions/345130/do-i-need-to-unsubscribe-from-manually-subscribed-to-events-in-asp-net – ChrisF 2010-01-13 16:19:52
@ChrisF:不完全。有专门讨论ASP.NET的。这似乎是一个更一般的.NET问题。 – serhio 2010-01-13 16:24:37
我需要知道.net的一般用途。该问题发生在Windows服务 – 2010-01-13 16:25:47