【发布时间】:2010-09-28 19:36:53
【问题描述】:
如果我在运行时分配一个事件处理程序,并且它位于可以多次调用的位置,那么建议的做法是什么,以防止将同一处理程序多次分配给同一事件。
object.Event += MyFunction
将它添加到将被多次调用的位置将执行处理程序“n”次(当然)。
在尝试通过添加之前,我已经删除了任何以前的处理程序
object.Event -= MyFunction;
object.Event += MyFunction;
这可行,但似乎以某种方式关闭。有关正确处理此方案的任何建议;)。
【问题讨论】:
-
你这个先删除事件再添加的解决方案其实是对stackoverflow.com/questions/937181/…的高分回答(这个问题也有这个话题的更多答案)