Skillnad mellan delegater och evenemang i C #

Huvudskillnad - Delegates vs Events in C #
 

C # är ett programmeringsspråk som utvecklats av Microsoft. Den stöder strukturerad programmering och objektorienterad programmering. Delegater och händelser används för händelsesdriven programmering i C #. En delegat är en typsäker pekare på en metod. I en applikation med grafiskt användargränssnitt (GUI) finns det knappar etc. När en knapp klickas sker en viss åtgärd. Dessa åtgärder kallas händelser. Om du till exempel uppdaterar en webbsida utlöses händelsen för sidbelastning. I denna artikel diskuteras skillnaden mellan delegater och händelser i C #. De nyckelskillnad mellan delegat och händelse i C # är det en delegat är en referens till en metod medan en händelse är associerad med en händelsehanterare med hjälp av en delegat. När en händelse inträffar skickar den en signal till delegaten. Därefter exekverar delegaten motsvarande funktion. Därför beror alla händelser på delegater.

INNEHÅLL

1. Översikt och nyckelskillnad
2. Vad är delegater i C #
3. Vad är händelser i C #
4. Likheter mellan delegater och evenemang i C #
5. Sida vid sida Jämförelse - Delegater vs Händelser i C # i tabellform
6. Sammanfattning

Vad är delegater i C #?

Delegater i C # liknar återuppringningsfunktioner i andra programmeringsspråk som JavaScript. Återuppringningsfunktioner är tilldelade vid körning. De ger funktionalitet som kan kopplas in och ut efter behov. Detsamma kan implementeras med hjälp av delegater i C #. Delarna i C # avkallar uppringaren och den uppringda funktionen. Därför minskar den tunga kopplingen.

.NET Framework klassificeras typer i två kategorier. De är värdetyper och referenstyper. Strukturen är ett exempel på värdetyp. Klassen är ett exempel på en referenstyp. Delegater är också refererade typer. En delegat används för att hålla en referens till en metod. De är typsäkra pekare. Delegerade är härledda från klassen System.Delegate. Delegat deklarationen liknar en metoddeklaration men innehåller sökordet "delegat". Delegatets syntax är som följer. delegat. Returtypen deklarerar returvärdet med metoden. Det kallas av delegaten. Paramellistan definierar parametrarna som krävs enligt metoden. Se nedan program med delegater.

Figur 01: C # Program med delegater

Enligt ovanstående program liknar metoderna CalSquare och calCube den deklarerade delegaten. I huvudprogrammet tilldelas den variabla cal-funktionen till calSquare-funktionen. Nu pekar Cal på calSquare-metoden. När värdet överförs returneras kvadratvärdet och det skrivs ut på skärmen. Återigen tilldelas cal till calCube-metoden. Nu pekar Cal på calCube-metoden. När värdet överförs returneras kubens värde och skrivs ut till skärmen. Samma delegat används för att hänvisa till olika metoder. Därför ökar det programmets flexibilitet.

Vad är händelser i C #?

I en applikation kan det finnas det kan vara nyckeltryck, knapptryckningar och musrörelser. När dessa uppstår kommer en händelse att ha höjts. När inmatningsknappen trycks in i en inlämningsblankett höjs knappen_click () i bakgrunden. Händelsen kallar en exekvering av den associerade funktionen. När en händelse inträffar svarar programmet på det. Det finns två avsnitt i ett händelsehanteringsprogram. Utgivaren innehåller definitionen av händelser och delegerade. Prenumeranten accepterar evenemanget och tillhandahåller händelsehanteraren.

Deklarationen av händelsen är händelse; Typ av händelsedeklaration måste vara en delegattyp, och delegaten måste vara så tillgänglig som händelsen själv. Eventnamnet ska vara ett giltigt C # -namn.

Figur 02: C # Program med händelser

Enligt ovanstående program skapas delegat och händelse. I beräkningsklassen finns en metod för att lägga till två siffror. Om ett udda nummer hittas kommer händelsen att inträffa. Det är händelsenOddNumber (). I huvudmetoden uppmanar händelseshanteraren EventOddNumber delegaten. Slutligen utför delegaten metoden.

Vad är likheten mellan delegater och evenemang i C #?

  • Både delegater och evenemang i C # är relaterade till händelsesdrivna

Vad är skillnaden mellan delegater och evenemang i C #?

Delegater vs händelser i C #

En delegat är en referenstypvariabel som innehåller referensen till en metod. En händelse är en gruppdeltagare av delegat som används av objektet eller klassen för att meddela andra objekt att en händelse har inträffat.
 Nyckelord
En delegat deklareras med hjälp av sökordet "delegat". En händelse deklareras med hjälp av sökordet "händelse".
Dependency
Delegater är obestridliga. Händelser beror på delegater.

Sammanfattning - Delegates vs Events in C #

Delegater och händelser är två begrepp i samband med händelsesdriven programmering i C #. I denna artikel diskuterades skillnaden mellan delegater och händelser i C #. Skillnaden mellan delegat och händelse i C # är att en delegat är en referens till en metod medan en händelse är associerad med en händelsehanterare med hjälp av en delegat. Händelser beror på delegater. När en händelse inträffade skickar den en signal till delegaten. Därefter exekverar delegaten motsvarande funktion

Referens:

1.Balagurusamy, E. Programmering i C #, En premier. Fjärde ed., McGraw Hill Education (Indien) Private Limited, 2016.
2. "Primärmeny." C Handledning. Tillgänglig här 
3.sachinbpaul. Delegater i C #, Sachin Paul, 1 okt. 2014. Tillgänglig här