在C#中清除或检查事件处理程序
发布时间:2020-12-15 23:59:55 所属栏目:百科 来源:网络整理
导读:我有一些C#代码可以更新对象的某些属性.我定义了一个事件处理程序,以帮助我在更新过程完成时做出响应.不幸的是,我已经了解到这个事件多次被解雇.我怀疑这种情况正在发生,因为事件处理程序正在错误的时间设置.目前,它的设置如下: myObject.Update_Succeeded
我有一些C#代码可以更新对象的某些属性.我定义了一个事件处理程序,以帮助我在更新过程完成时做出响应.不幸的是,我已经了解到这个事件多次被解雇.我怀疑这种情况正在发生,因为事件处理程序正在错误的时间设置.目前,它的设置如下:
myObject.Update_Succeeded += new EventHandler(myObject_Update_Succeeded); 由于代码的复杂性,我很难跟踪它应该设置的位置.我想只设置它之前没有设置的事件处理程序.因此,我想做这样的事情: ClearEventHandlers(myObject); 要么 myObject.Update_Succeeded = null; myObject.Update_Succeeded += new EventHandler(myObject_Update_Succeeded); 有没有办法完成我正在尝试的东西? 谢谢! 解决方法
您应该能够使用减法运算符删除处理程序,如下所示
myObject.Update_Succeeded -= new EventHandler(myObject_Update_Succeeded); 或者如果您有疑问,请检查一下删除所有事件处理程序的方法 How to remove all event handlers from a control (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |