【发布时间】:2011-02-23 06:30:32
【问题描述】:
我刚刚从 ICloneable 实现了 Clone,并意识到来自我的源实例的事件订阅也随之而来。有什么好的方法可以清除所有这些吗?
目前,我为每个事件都使用了几个这样的循环,我必须清除所有内容。
foreach (var eventhandler in OnIdChanged.GetInvocationList())
{
OnIdChanged -= (ItemEventHandler) eventhandler;
}
foreach (var eventhandler in OnNameChanged.GetInvocationList())
{
...
这工作正常,但代码有点混乱。主要是担心让事件悬空。
【问题讨论】: