避免重复注册事件处理程序基本上有两种模式:(根据这个讨论:C#模式防止事件处理程序被钩住两次)
使用 System.Linq 命名空间,并通过调用检查事件处理程序是否已注册
GetInvocationList().Contains(MyEventHandlerMethod);
在注册之前进行注销,如下所示:
MyEvent -= MyEventHandlerMethod; MyEvent += MyEventHandlerMethod;
我的问题是,在性能方面,哪个更好,或者它们之间的性能有显着差异?