Heim  >  Artikel  >  Backend-Entwicklung  >  C# EventHandler

C# EventHandler

PHPz
PHPzOriginal
2024-09-03 15:28:561310Durchsuche

Ein EventHandler in der Programmiersprache C# ist für den Umgang mit den Ereignissen verantwortlich, die vom Programmierer so programmiert werden, dass sie bei beabsichtigter asynchroner Ausführung ausgeführt werden. Jede Programmiersprache hat ihre Funktionen und Einschränkungen, und der Event-Handler ist eine der großartigen Funktionen für die ordnungsgemäße Ausführung des Programms.

Wir verstehen, dass jedes auftretende Ereignis eine Aktion ist, die das Ergebnis einer anderen Aktion ist, wie zum Beispiel ein einfacher Klick auf eine Schaltfläche, gefolgt von den Funktionen. Delegate ist ein wichtiger Teil des Eventhandlers und zielt bei seiner Erstellung auf die Methode Eventhandler ab.

Syntax:

Da wir nun verstanden haben, was der Eventhandler ist, wollen wir damit fortfahren, mehr darüber zu erfahren. Die Syntax für eine Funktion oder Methode ist ein entscheidender Teil, und eine einfache Syntax für die Event-Handler-Methode lautet wie folgt:

public delegate void SimpleEH(int a, int b);
  • Sie müssen das Schlüsselwort „delegate“ bemerkt haben, das von einem besonderen Typ ist und lediglich die Methoden darstellt. Und die beiden Argumente, die wir haben, sind das Objekt und die EventArgs, die unterschiedliche Zwecke haben können.
  • Dieser einfache Delegat oben hat eine grundlegende Operation, bei der er auf die Methode der Ereignisbehandlung verweist, die zwei Parameter einer Ganzzahl akzeptiert und auch eine Ganzzahl zurückgibt. Diese Syntax für die Methode kann auf der Ebene des Namespace deklariert werden, wodurch eine einfache Regel implementiert wird, dass keine Notwendigkeit besteht, sie in verschachtelten Klassen zu wiederholen.

Wie funktioniert EventHandler in C#?

Wir haben gut gelernt, was der Eventhandler in C# ist und welche Syntax er hat. Aber das Verständnis der Funktionsweise des Eventhandlers ist ein wichtiger Teil, der zu einer besseren Implementierung beiträgt. Jede Bewegung oder jeder Schritt in einem Programm ist ein Ereignis, das von einem Eventhandler verarbeitet wird. Wir haben eine Methode für den Eventhandler, und der Delegat wird verwendet, um auf diese Methode zu verweisen. Hier kann der Delegat jeder dieser fünf Typen sein: Klasse, Schnittstelle, Struktur, Aufzählung und ein Delegat.

Wir müssen eine Instanz des Delegaten erstellen, dessen Syntax wir bereits gelernt haben. Der von uns erstellte Delegat zeigt auf die Eventhandler-Methode.  Hier müssen wir bedenken, dass alle C#-Ereignisse in .NET grundsätzlich auf Delegaten basieren.

Grundsätzlich müssen wir eine Event-Handler-Methode innerhalb des Event-Receivers definieren, um auf ein Event zu reagieren. Für eine bessere Implementierung muss die Signatur des Delegierten, der das Ereignis darstellt, mit der Methode für das Ereignis übereinstimmen, das wir derzeit bearbeiten.

Beispiele zur Implementierung von C# EventHandler

Im Folgenden finden Sie die genannten Beispiele:

Beispiel #1

Wir haben die Eventhandler-Methode, ihre Syntax und ihre Funktionsweise verstanden. Nun kommen wir zur Umsetzung; Hier werden wir ein Programm schreiben, um die Ausgabe zu drucken und auszuführen.

Code:

using System;
public delegate int EHsample(int a, int b);
class Program {
static void Main() {
Adder a = new Adder();
EHsample instanceEHsample = new EHsample(a.Add);
int sampleOutput = instanceEHsample(4, 3);
Console.WriteLine("\n sampleOutput = {0}", sampleOutput);
}
}
public class Adder {
public int Add(int x, int y)
{ return x + y; }
}

Ausgabe:

C# EventHandler

Erklärung:Wir haben einfach mit dem Import unseres Systems begonnen. Anschließend Erklärung eines Delegierten. Wir haben die Syntax, die wir hier implementieren, bereits verstanden. Wir haben zwei Argumente ohne Delegaten, beide ganzzahlig, a und b. Dann unser Klassenprogramm mit der Hauptmethode. Wir haben einen einfachen Adder mit einer neuen Instanz. Wir haben weiter im Programm eine Adder-Klasse erstellt. Dann haben wir unsere Instanz für den Delegaten erstellt und unsere Adder-Instanz zum Hinzufügen aufgerufen. Wir haben dann einfach die beiden Werte übergeben, die hier 4 und 3 sind. Schließlich haben wir unsere Druckanweisung, die „sampleOutput =“ ausgibt, gefolgt von der Addition der beiden Werte, die wir übergeben haben.

Dann haben wir unsere öffentliche Klasse Adder, in der die Additionsoperation für die Werte stattfindet, die wir zuvor übergeben haben. Die Add-Funktion nimmt zwei Argumente entgegen, gibt die Addition beider zurück und übergibt sie an die Ausgabe. Informationen zur ordnungsgemäßen Ausgabe finden Sie im folgenden Screenshot:

Beispiel #2

Im Folgenden werden wir die Eventhandler-Delegatenmethode mit unserem nächsten Beispiel implementieren.

Code:

using System;
public delegate void sampleEventHandler();
class Program {
public static event sampleEventHandler _show;
static void Main() {
_show += new sampleEventHandler(Event);
_show += new sampleEventHandler(Handler);
_show.Invoke();
}
static void Event() {
Console.WriteLine("\n Event");
}
static void Handler() {
Console.WriteLine("\n Handler");
}
}

Ausgabe:

C# EventHandler

Erklärung: Ähnlich wie in unserem ersten Beispiel haben wir eine Anweisung verwendet, dann unsere Deklaration für den Delegaten und die Klasse mit der Hauptmethode. Wir haben Methodeninstanzen gezeigt, bei denen wir der Liste neue Ereignisse hinzufügen. Dann fügen wir zwei Ereignisse hinzu: Event und Handler. Der Einfachheit halber haben wir den statischen Modifikator für das Ereignis verwendet, der einen direkten Zugriff auf das Ereignis innerhalb der statischen Main-Methode ermöglicht.

Außerdem hat das hier verwendete += nichts mit den arithmetischen Operationen zu tun. Die Ausgabe finden Sie im folgenden Screenshot:

Fazit

Jedes Ereignis ist eine Aktion und der Eventhandler verarbeitet dieses Ereignis ordnungsgemäß. Wir erstellen eine Instanz für den Delegaten und rufen sie bei Bedarf auf; Die Delegate-Instanz zeigt auf die Eventhandler-Methode. Diese Ereignisse werden im Windows Forms Framework häufig verwendet und sind der Eventhandler. Im Falle von Threading implementieren wir den Typ BackGroundWorker.

Das obige ist der detaillierte Inhalt vonC# EventHandler. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Listbox in C#Nächster Artikel:Listbox in C#