Nun deklarieren Sie für das Ereignis OnPrime einen Delegaten in der Klasse. Diese Deklaration kann an einer beliebigen Stelle im Klassenmodul eingefügt werden. Beachten Sie, dass Sie nicht unbedingt einen Delegaten erstellen müssen, vor allem bei Ereignis-Methoden, deren Signatur dem integrierten System.EventHandler-Delegat entspricht. Es ist jedoch sinnvoll, für jedes spezielle Ereignis einen Delegaten zu deklarieren. In unserem Beispiel ist dies notwendig, da zu der Signatur ein Parameter (die gefundene Primzahl) hinzugefügt wird.
Hier die Deklaration für den Delegaten:
public delegate void OnPrimeEventHandler (object sender, System.EventArgs e, long num);
Weisen Sie dann den Delegaten dem Ereignis zu:
public Ereignis OnPrimeEventHandler OnPrime;
Das Klassenmodul ist nun komplett. Allerdings führt es vor der Schaffung des Codes in der Empfängerklasse noch keine sinnvollen Vorgänge aus. Wenn Sie das Projekt ausführen, dürften jedoch keine Syntaxfehler mehr vorliegen. Listing D enthält den vollständigen Code für das Klassenmodul.
Der Ereignis-Handler
Kehren wir nur zu der Empfängerklasse zurück, die zufällig eine Form-Klasse ist (was, wie bereits erwähnt, nicht unbedingt der Fall sein muss), um einen Ereignis-Handler hinzuzufügen. Dieser sieht wie folgt aus:
private void Class1_OnPrime (object sender, System.EventArgs e, long theNum){ }
Benachrichtigung an die auslösende Klasse
Fügen Sie nun eine Benachrichtigung zu der Instanz des Klassenmoduls hinzu, so dass der im Ereignis-Handler befindliche Code verarbeitet wird, wenn das Ereignis ausgelöst wurde. Zuvor muss jedoch erst eine Instanz der Class1 in der Form-Klasse eingerichtet werden. Erstellen Sie anschließend eine Schaltfläche mit der Bezeichnung btnDoPrimeThing. Dann fügen Sie den im Klick-Ereignis der Schaltfläche auszuführenden Code ein und zeigen den Rest in einem mehrzeiligen Textfeld an.
Listing E zeigt den Code für das Klick-Ereignis, der eine Instanz von Class1 erstellt und das Ereignis in der Klasse anweist, den Ereignis-Handler zu benachrichtigen, wenn das Ereignis ausgelöst wird.
Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…
Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…
Ein neues Bug-Bounty-Programm beschäftigt sich mit Apples Private Cloud Compute. Prämien gibt es unter für…
Betroffen sind alle aktuell unterstützten Apple-Smartphones und -Tablets. Schwachstellen in iOS und iPadOS erlauben unter…
Sie erlaubt Diebstahl von Daten. Bedrohungsakteure könnten FortiManager-Appliances kompromittieren, um Unternehmensumgebungen anzugreifen.
Speicherchips und GPUs für KI-Server beflügeln das Wachstum. Die Nachfrage aus dem Automobil- und Industriesektor…