Wie implementiere ich ein abbrechbares Ereignis?
Im System.ComponentModel, es gibt eine Klasse namens CancelEventArgs, die enthält eine Abbrechen-Mitglied werden können in der Ereignis-Listener. Die Dokumentation auf der MSDN-Website erklärt, wie Sie verwenden, um Termine abzusagen aus einem listener, aber wie verwende ich es zur Umsetzung meiner eigenen stornierbar Ereignisse? Gibt es eine Möglichkeit zu prüfen, die Abbrechen, die nach jeder listener feuert, oder muss ich warten bis nach dem event gefeuert hat, alle seine Hörerinnen und Hörer?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Überprüfen, um jeden Zuhörer wiederum, müssen Sie manuell die Handler über GetInvocationList:
cancel = true
und das zweite "cancel = false". Was denkst du, was würde passieren? Die Antwort zeigt, wie so eine situation verhindern. Wenn mindestens ein Abonnent das Ereignis abbricht, dann ist es abgesagt. Zeitraum.