Unterschied zwischen Delegierten und Ereignissen in C#

Unterschied zwischen Delegierten und Ereignissen in C#

Schlüsselunterschied - Delegierte gegen Ereignisse in C#
 

C# ist eine Programmiersprache, die von Microsoft entwickelt wurde. Es unterstützt strukturierte Programmierung und objektorientierte Programmierung. Delegierte und Ereignisse werden für die ereignisgesteuerte Programmierung in C# verwendet.  Ein Delegierter ist ein Typ-sicherer Zeiger auf eine Methode. In einer Anwendung mit einer grafischen Benutzeroberfläche (GUI) gibt es Schaltflächen usw. Wenn eine Schaltfläche angeklickt wird, tritt eine Art Aktion auf. Diese Aktionen werden Ereignisse genannt. Beispielsweise löst das Aktualisieren einer Webseite das Seitenladeladelereignis aus. In diesem Artikel wird der Unterschied zwischen Delegierten und Ereignissen in C# erörtert. Der Schlüsselunterschied Zwischen Delegierter und Ereignis in C# ist das Ein Delegierter ist ein Verweis auf eine Methode, während ein Ereignis mit einem Ereignishandler mit einem Delegierten zugeordnet ist. Wenn ein Ereignis auftritt, sendet es ein Signal an den Delegierten. Dann führt der Delegate die entsprechende Funktion aus.  Daher hängen alle Ereignisse von Delegierten ab.

INHALT

1. Überblick und wichtiger Unterschied
2. Was sind Delegierte in C#
3. Was sind Ereignisse in C#
4. Ähnlichkeiten zwischen Delegierten und Ereignissen in C#
5. Vergleich nebeneinander - Delegierte gegen Ereignisse in C# in tabellarischer Form
6. Zusammenfassung

Was sind Delegierte in C#?

Die Delegierten in C# ähneln den Rückruffunktionen in anderen Programmiersprachen wie JavaScript. Rückruffunktionen werden zur Laufzeit zugewiesen. Sie bieten Funktionen, die nach Bedarf ein- und ausgeschaltet werden können. Das Gleiche kann mithilfe von Delegierten in C# implementiert werden. Die Delegierten in C# entkoppeln den Anrufer und die aufgerufene Funktion. Daher reduziert es die schwere Kupplung.

.Netto Framework Klassifizierte Typen in zwei Kategorien. Sie sind Werttypen und Referenztypen. Die Struktur ist ein Beispiel für den Werttyp. Die Klasse ist ein Beispiel für einen Referenztyp. Delegierte sind auch verwiesene Typen. Ein Delegierter wird verwendet, um einen Verweis auf eine Methode zu halten. Sie sind Typ-Safe-Zeiger. Delegiert werden vom System abgeleitet.Delegierklasse. Die Delegierterklärung ähnelt einer Methodenerklärung, enthält jedoch das Schlüsselwort 'Delegierter'.  Die Syntax des Delegierten ist wie folgt. delegieren . Der Rückgabetyp deklariert den Rückgabewert nach der Methode. Es wird vom Delegierten genannt. Die Parameterliste definiert die von der Methode erforderlichen Parameter. Siehe das folgende Programm mit Delegierten.

Abbildung 01: C# -Programm mit Delegierten

Nach dem obigen Programm ähneln die Methoden Calsquare und Calcube dem deklarierten Delegierten. Im Hauptprogramm wird die Variable Cal der Calsquare -Funktion zugeordnet. Jetzt zeigt Cal auf die Calsquare -Methode.  Beim Übergeben des Wertes wird der quadratische Wert zurückgegeben und auf den Bildschirm gedruckt. Auch hier wird Cal der Calcube -Methode zugeordnet. Jetzt zeigt Cal auf die Calcube -Methode. Beim Übergeben des Wertes wird der Würfelwert zurückgegeben und auf den Bildschirm gedruckt. Der gleiche Delegierte wird verwendet, um verschiedene Methoden zu überweisen. Daher erhöht es die Programmflexibilität.

Was sind Ereignisse in C#?

In einer Anwendung kann dort Tastendrücken, Tastendicke und Mausbewegungen sein. Wenn diese auftreten, hat ein Ereignis angehoben. Wenn die Taste Senden in einem Einreichungsformular gedrückt wird, wird das Ereignis Button_click () im Hintergrund angehoben. Das Ereignis ruft eine aus. Führen Sie die zugehörige Funktion aus. Wenn ein Ereignis auftritt, reagiert die Anwendungsreaktion darauf. Es gibt zwei Abschnitte in einem Veranstaltungsbearbeitungsprogramm. Der Verlag enthält die Definition von Ereignissen und delegiert. Der Abonnent akzeptiert die Veranstaltung und stellt den Event -Handler zur Verfügung.

Die Erklärung der Veranstaltung ist eine Veranstaltung; Die Art einer Ereigniserklärung muss ein Delegiertertyp sein, und der Delegierte muss so zugänglich sein wie das Ereignis selbst. Der Ereignisname sollte ein gültiger C# -Name sein.

Abbildung 02: C# -Programm mit Ereignissen

Nach dem obigen Programm werden der Delegierte und die Veranstaltung erstellt. In der Berechnungsklasse gibt es eine Methode, um zwei Zahlen hinzuzufügen. Wenn eine ungerade Zahl gefunden wird, tritt das Ereignis auf. Es ist der EventoddNumber (). In der Hauptmethode ruft der EventoddNumber -Event -Handler den Delegierten auf. Schließlich führt der Delegierte die Methode aus.

Was ist die Ähnlichkeit zwischen Delegierten und Ereignissen in C#?

  • Sowohl Delegierte als auch Ereignisse in C# beziehen sich auf ereignisgesteuerte

Was ist der Unterschied zwischen Delegierten und Ereignissen in C#?

Delegierte gegen Ereignisse in C#

Ein Delegierter ist eine Referenztypvariable, die den Verweis auf eine Methode enthält. Ein Ereignis ist ein Klassenmitglied vom Typ Delegierter, das vom Objekt oder der Klasse verwendet wird, um andere Objekte zu melden, die ein Ereignis aufgetreten ist.
 Stichwort
Ein Delegierter wird mit dem Schlüsselwort 'Delegierter' deklariert. Ein Ereignis wird mit dem Schlüsselwort "Ereignis" deklariert.
Abhängigkeit
Die Delegierten sind unabgewohnbar. Ereignisse hängen von Delegierten ab.

Zusammenfassung - Delegierte gegen Ereignisse in C#

Delegierte und Ereignisse sind zwei Konzepte, die mit ereignisgesteuerter Programmierung in C# verbunden sind. In diesem Artikel wurde der Unterschied zwischen Delegierten und Ereignissen in C# erörtert. Der Unterschied zwischen Delegierter und Ereignis in C# besteht darin, dass ein Delegierter ein Verweis auf eine Methode ist, während ein Ereignis mit einem Ereignishandler mit einem Delegierten verbunden ist. Ereignisse hängen von Delegierten ab. Wenn ein Ereignis aufgetreten ist, sendet es ein Signal an den Delegierten. Dann führt der Delegate die entsprechende Funktion aus

Referenz:

1.Balagurusamy, e. Programmierung in C#, eine Premierin. Vierter Aufl., McGraw Hill Education (India) Private Limited, 2016.
2."Hauptmenü.”C Tutorial. Hier verfügbar 
3.Sachinbpaul. Delegierte in C#, Sachin Paul, 1. Oktober. 2014. Hier verfügbar