在处理对象时是否有必要删除事件?

时间:2012-09-26 12:37:32

标签: c# winforms

  

可能重复:
  Remove handlers on disposing object

我有一些代码可以动态添加ControlsForm或从 if (node != null && !node.IsDisposed) { node.Resize -= docNode_Resize; node.DocumentRefreshRequested -= docNode_DocumentRefreshRequested; node.Dispose(); } 移除Dispose()。控件存储在表单拥有的集合中。删除控件时,代码会通过并按如下方式处理它们

{{1}}

删除事件是否必要?似乎{{1}}就足够了。

1 个答案:

答案 0 :(得分:2)

被问到这么多次

不,你不需要,除非:

  • 事件使用静态订阅
  • 大量的活动和订阅(来自个人经验,取消内存消耗方面的好处)