代码之家  ›  专栏  ›  技术社区  ›  Patrick Desjardins

我是否需要手动删除所有事件以使我的对象从内存中删除?

  •  3
  • Patrick Desjardins  · 技术社区  · 16 年前

    我已经读过了 MSDN 这就要求取消订阅对象必须能够从内存中处理的每个事件。我总是使用-=删除对象中对事件的所有引用(如MSDN show)。

    例子:

    _watcher.Changed += new ...
    _watcher.Created += new ...
    _watcher.Deleted += ..
    
    //later.
    
    _watcher = NULL;
    

    1 回复  |  直到 16 年前
        1
  •  6
  •   Mitch Wheat    16 年前

    如果没有其他参考文献 _watcher ,则无需删除事件处理程序以避免内存泄漏。

    推荐文章