Ich habe gerade Clone von ICloneable implementiert und festgestellt, dass auch die Event-Subskriptionen von meiner Quellinstanz gefolgt sind. Gibt es eine gute Möglichkeit, all diese zu klären?Löschen Sie alle Event Subscriptions (Clone verlinkt)
Derzeit verwende ich ein paar dieser Schleifen für jedes Ereignis, das ich alles löschen muss.
foreach (var eventhandler in OnIdChanged.GetInvocationList())
{
OnIdChanged -= (ItemEventHandler) eventhandler;
}
foreach (var eventhandler in OnNameChanged.GetInvocationList())
{
...
Dies funktioniert gut, aber überfüllt den Code ein wenig. Meistens besorgt um Event-Dangling.
das hat funktioniert, also markiere ich als Antwort. obwohl ich eine Refactoring nach der Antwort von Randolpho – mattias
@mattias erwäge, habe ich nur Ihre Frage und nicht die Auswirkungen Ihrer Lösung in meiner Antwort. Was Randolpho vorgeschlagen hat, ist wahrscheinlich besser. –
half es kurzfristig noch. Vielen Dank! – mattias