我刚从ICloneable实现了Clone,并意识到我的源实例的事件订阅也随之而来.有清除所有这些的好方法吗?
目前我正在为每个事件使用几个这样的循环来清理所有事情.
foreach (var eventhandler in OnIdChanged.GetInvocationList())
{
OnIdChanged -= (ItemEventHandler) eventhandler;
}
foreach (var eventhandler in OnNameChanged.GetInvocationList())
{
...
Run Code Online (Sandbox Code Playgroud)
这工作正常,但稍微混乱了代码.最担心的是事件悬空.