Felix2000 hat folgendes geschrieben : |
Was genau bedeutet denn in diesem Code obj.Event und das += |
Event ist das Ereignis, dass in der Klasse von
obj deklariert wurde. Die Deklaration sieht in etwa so aus:
C#-Quelltext
1: 2: 3:
| class ClassOfObj { public event EventHandler Event; } |
Das bedeutet, dass die Klasse ein Ereignis namens
Event bereitstellt, das in diesem Fall eine Methode erwartet, die durch den
Delegate EventHandler definiert wird. Ein Delegate ist die Beschreibung eines Methodenkopfes und sieht so aus:
C#-Quelltext
1:
| delegate void EventHandler(object sender, EventArgs e); |
Du musst also eine Methode haben, die einen solchen Kopf hat, um sie dem Ereignis zuweisen zu können. Und das geht mit dem
+=-Operator. Bei Events ist es ein eigenständiger Operator, sonst kannst du
a += b zu
a = a + b erweitern. Er fügt also etwas hinzu, in diesem Fall einen Event-Handler zum Event. Wenn das Ereignis das nächste Mal ausgelöst wird, wird zusätzlich zu den bereits registrierten Event-Handlern der neu hinzugefügte aufgerufen. Ein Event kann also mehrere Event-Handler beliefern.
Ich hoffe, jetzt ist es dir etwas klarer.