Forskel mellem delegerede og begivenheder i C #

Nøgleforskel - delegerede vs begivenheder i C #
 

C # er et programmeringssprog udviklet af Microsoft. Det understøtter struktureret programmering og objektorienteret programmering. Delegater og begivenheder bruges til begivenhedsstyret programmering i C #. En delegeret er en typesikker markør til en metode. I et program med en grafisk brugergrænseflade (GUI) er der knapper osv. Når der klikkes på en knap, forekommer der en slags handling. Disse handlinger kaldes begivenheder. For eksempel vil opdatering af en webside udløse begivenheden for indlæsning af sider. Denne artikel diskuterer forskellen mellem delegerede og begivenheder i C #. Det vigtigste forskel mellem delegeret og begivenhed i C # er det en delegeret er en henvisning til en metode, mens en begivenhed er knyttet til en begivenhedshåndterer, der bruger en delegeret. Når en begivenhed finder sted, sender den et signal til delegeret. Derefter udfører delegeret den tilsvarende funktion. Derfor er alle begivenheder afhængige af delegerede.

INDHOLD

1. Oversigt og nøgleforskel
2. Hvad er delegerede i C #
3. Hvad er begivenheder i C #
4. Ligheder mellem delegerede og begivenheder i C #
5. Sammenligning side ved side - delegerede vs begivenheder i C # i tabelform
6. Resume

Hvad er delegerede i C #?

Delegater i C # ligner tilbagekaldsfunktioner i andre programmeringssprog som JavaScript. Tilbagekaldsfunktioner tildeles under kørsel. De leverer funktionalitet, der kan skiftes ind og ud efter behov. Det samme kan implementeres ved hjælp af delegerede i C #. Delegaterne i C # kobler fra den, der ringer, og den kaldte funktion. Derfor reducerer den den tunge kobling.

.NET-rammer klassificeres i to kategorier. Det er værdityper og referencetyper. Strukturen er et eksempel på værditype. Klassen er et eksempel på en referencetype. Delegater refereres også til typer. En delegeret bruges til at holde en henvisning til en metode. De er typesikre tip. Delegerede er afledt af klassen System.Delegate. Delegaterklæring ligner en metodedeklaration, men indeholder nøgleordet 'delegat'. Delegatens syntaks er som følger. delegeret. Returtypen angiver returværdien ved hjælp af metoden. Det kaldes af delegeret. Parameterlisten definerer de parametre, der kræves af metoden. Se nedenstående program med delegerede.

Figur 01: C # -program med delegerede

I henhold til ovenstående program ligner metoderne calSquare og calCube den erklærede delegeret. I hovedprogrammet tildeles variablen cal til calSquare-funktionen. Nu peger cal på calSquare-metoden. Når du videregiver værdien, returneres kvadratværdien, og den udskrives på skærmen. Igen tildeles cal til calCube-metoden. Nu peger cal på calCube-metoden. Når du videregiver værdien, returneres terningværdien og udskrives på skærmen. Den samme delegerede bruges til at henvise til forskellige metoder. Derfor øger det programfleksibiliteten.

Hvad er begivenheder i C #?

I et program kan der være, der kan være tastetryk, knapklik og musebevægelser. Når disse opstår, vil en begivenhed være rejst. Når man indsætter knappen Send i en indsendelsesformular, hæves knap_click () -hændelsen i baggrunden. Begivenheden kalder en eksekver den tilknyttede funktion. Når en begivenhed finder sted, svarer applikationen på det. Der er to sektioner i et program til håndtering af begivenheder. Udgiveren indeholder definitionen af ​​begivenheder og er delegeret. Abonnenten accepterer begivenheden og leverer begivenhedshåndtereren.

Erklæringen om begivenheden er begivenhed; Typen af ​​en begivenhedserklæring skal være en delegeret type, og delegaten skal være lige så tilgængelig som selve begivenheden. Begivenhedsnavnet skal være et gyldigt C # -navn.

Figur 02: C # -program med begivenheder

I henhold til ovenstående program oprettes delegeret og begivenheden. I klassen Beregn er der en metode til at tilføje to tal. Hvis der findes et ulige antal, vil begivenheden opstå. Det er hændelsenOddNumber (). I hovedmetoden ringer begivenhedshåndtereren eventOddNumber delegeret. Endelig udfører delegerede metoden.

Hvad er ligheden mellem delegerede og begivenheder i C #?

  • Både delegerede og begivenheder i C # er relateret til begivenhedsstyret

Hvad er forskellen mellem delegerede og begivenheder i C #?

Delegater kontra begivenheder i C #

En delegeret er en variabel af referencetype, der indeholder referencen til en metode. En begivenhed er et klassemedlem af delegeretypen, der bruges af objektet eller klassen til at give meddelelse til andre objekter om, at en begivenhed er sket.
 Søgeord
En delegeret erklæres ved hjælp af nøgleordet 'delegat'. En begivenhed erklæres ved hjælp af nøgleordet "begivenhed".
Afhængighed
Delegater er uafhængige. Begivenheder afhænger af delegerede.

Resumé - Delegater kontra begivenheder i C #

Delegater og begivenheder er to koncepter, der er forbundet med begivenhedsstyret programmering i C #. Denne artikel diskuterede forskellen mellem delegerede og begivenheder i C #. Forskellen mellem delegeret og begivenhed i C # er, at en delegeret er en henvisning til en metode, mens en begivenhed er knyttet til en begivenhedshåndterer, der bruger en delegeret. Begivenheder afhænger af delegerede. Når en begivenhed fandt sted, sender den et signal til delegeret. Derefter udfører delegeret den tilsvarende funktion

Reference:

1.Balagurusamy, E. Programmering i C #, En premier. Fjerde udgave, McGraw Hill Education (India) Private Limited, 2016.
2. "Primær menu." C Tutorial. Tilgængelig her 
3.sachinbpaul. Delegater i C #, Sachin Paul, 1. oktober 2014. Tilgængelig her