从 this post 开始- 当我只希望触发一个处理程序事件时,使用建议的 -=
然后 +=
方法有什么缺点?
_value.PropertyChanged -= _handlerMethod;
_value.PropertyChanged += _handlerMethod;
最佳答案
这并不能保证只有一个处理程序被触发。
另一个位置可能会多次为您的处理程序订阅您的事件。在这种情况下,您只会删除第一个处理程序调用。
通过检查事件的调用列表,如果您真的只想一次订阅一个处理程序,您可以保证此行为。
关于c# - 检查事件处理程序是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1784587/