Forskjell mellom delegater og hendelser i C #

Nøkkelforskjell - Delegates vs Events in C #
 

C # er et programmeringsspråk utviklet av Microsoft. Den støtter strukturert programmering og objektorientert programmering. Delegater og hendelser brukes til hendelsesdrevet programmering i C #. En delegat er en type sikker peker på en metode. I et program med grafisk brukergrensesnitt (GUI) er det knapper etc. Når en knapp klikkes, skjer det en slags handling. Disse handlingene kalles hendelser. For eksempel vil forfriskning av en nettside utløse sidebelastningsarrangementet. Denne artikkelen diskuterer forskjellen mellom delegater og hendelser i C #. De nøkkelforskjell mellom delegat og arrangement i C # er det en delegat er en referanse til en metode mens en hendelse er knyttet til en hendelsehandler ved hjelp av en delegat. Når en hendelse oppstår, sender den et signal til delegaten. Deretter utfører delegaten den tilsvarende funksjonen. Derfor er alle hendelser avhengig av delegater.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er Delegates i C #
3. Hva er hendelser i C #
4. Likheter mellom delegater og hendelser i C #
5. Side ved side-sammenligning - Delegater vs Hendelser i C # i tabellform
6. Sammendrag

Hva er Delegates i C #?

Delegater i C # ligner på tilbakeringingsfunksjoner i andre programmeringsspråk som JavaScript. Tilbakeringingsfunksjoner tildeles ved kjøring. De gir funksjonalitet som kan kobles inn og ut etter behov. Det samme kan implementeres ved hjelp av delegater i C #. Delegasjonene i C # decouples den som ringer og den ringte funksjonen. Derfor reduserer den tunge koblingen.

.NET Framework klassifiseres typer i to kategorier. De er verdiktyper og referansetyper. Strukturen er et eksempel på verdi type. Klassen er et eksempel på en referansetype. Delegater er også refererte typer. En delegat brukes til å holde en referanse til en metode. De er type-sikre pekere. Delegert er avledet fra System.Delegate-klassen. Delegat erklæring ligner en metodedeklarasjon, men inneholder søkeordet "delegat". Syntaxen til delegaten er som følger. delegere. Returtypen erklærer returverdien etter metoden. Det kalles av delegaten. Parameterlisten definerer parametrene som kreves av metoden. Se underprogrammet med delegater.

Figur 01: C # Program med delegerte

I henhold til det ovennevnte programmet, er metodene calSquare og calCube lik den deklarerte delegaten. I hovedprogrammet er den variable cal tildelt calSquare-funksjonen. Nå peker cal på kalSquare-metoden. Når verdien overføres, returneres kvadratverdien, og den skrives ut på skjermen. Igjen er cal tilordnet calCube-metoden. Nå peker cal på calCube-metoden. Når verdien overføres, returneres kubeverdien og skrives ut til skjermen. Samme delegat brukes til å referere til forskjellige metoder. Derfor øker programmet fleksibiliteten.

Hva er hendelser i C #?

I et program kan det være det kan være nøkkelpresser, knappeklikk og musebevegelser. Når disse oppstår, vil en hendelse ha reist. Når innleveringsknappen trykkes inn i et skjema, blir hendelsen button_click () hevet i bakgrunnen. Hendelsen kaller en kjøring av tilknyttet funksjon. Når en hendelse oppstår, svarer søknaden på det. Det er to seksjoner i et hendelseshåndteringsprogram. Utgiveren inneholder definisjonen av hendelser og delegert. Abonnenten aksepterer hendelsen og gir hendelseshandleren.

Erklæringen av arrangementet er hendelse; Typen av en hendelsesdeklarasjon må være en delegattype, og delegaten må være så tilgjengelig som selve arrangementet. Hendelsesnavnet skal være et gyldig C # -navn.

Figur 02: C # Program med hendelser

I henhold til det ovennevnte programmet blir delegatene og arrangementet opprettet. I Calculate-klassen er det en metode for å legge til to tall. Hvis et merkelig tall er funnet, vil arrangementet oppstå. Det er eventOddNumber (). I hovedmetoden kaller hendelseshandleren EventOddNumber delegaten. Endelig utfører delegaten metoden.

Hva er likheten mellom delegater og hendelser i C #?

  • Både delegater og hendelser i C # er relatert til hendelsesdrevet

Hva er forskjellen mellom delegater og hendelser i C #?

Delegater vs hendelser i C #

En delegat er en referansetypevariabel som inneholder referansen til en metode. En hendelse er et delegattypeklassemedlem som brukes av objektet eller klassen for å gi varsel til andre objekter som en hendelse har oppstått.
 søkeord
En delegat er erklært ved hjelp av søkeordet "delegat". En begivenhet er deklarert ved hjelp av søkeordet "event".
avhengighet
Delegatene er uavhengige. Hendelser avhenger av delegater.

Sammendrag - Delegater vs hendelser i C #

Delegater og hendelser er to konsepter knyttet til hendelsesdrevet programmering i C #. Denne artikkelen diskuterte forskjellen mellom delegater og hendelser i C #. Forskjellen mellom delegat og begivenhet i C # er at en delegat er en referanse til en metode mens en hendelse er knyttet til en hendelsehandler ved hjelp av en delegat. Hendelser avhenger av delegater. Når en hendelse oppstod, sender den et signal til delegaten. Deretter utfører delegaten den tilsvarende funksjonen

Henvisning:

1.Balagurusamy, E. Programmering i C #, En premier. Fjerde utg., McGraw Hill Education (India) Private Limited, 2016.
2. "Primærmeny." C Opplæring. Tilgjengelig her 
3.sachinbpaul. Delegater i C #, Sachin Paul, 1 okt. 2014. Tilgjengelig her