Delegater brukes ofte i C# for å implementere hendelser og tilbakeringinger. Ved å opprette en delegat som kan tildeles en metode, kan du opprette en mekanisme for at andre deler av koden din skal varsles når en bestemt hendelse skjer, eller for å gi en metode som skal kalles når en viss handling er fullført. Delegater er et kraftig verktøy på C# -språket og er en essensiell del av mange avanserte programmeringsteknikker.
Delegater i C#
Delegat ligner en funksjonspeker i C eller C ++, men med ytterligere funksjoner som å kombinere flere metoder til en enkelt delegat, påkalle en liste over metoder i sekvens og sende parametere til metodene, her er syntaks for det:
offentlig delegat( )
I syntaks ovenfor er returtypen på metoden som delegaten peker på. er navnet på delegaten, og er parametrene som metoden tar.
Hvordan bruke delegater i C#
For å bruke en delegat, må du først definere en delegattype først, som spesifiserer signaturen til metoden eller metodene den kan referere til. En delegatype kan defineres ved hjelp av delegatnøkkelordet, etterfulgt av returtypen, delegatnavnet og parameterlisten for metoden eller metodene den kan referere til. For å illustrere bruken av delegater i C Sharp har jeg gitt en eksempelkode som utfører enkel tillegg og subtraksjon:
ved hjelp av system;
offentlig delegat int utførelse av utførelse (int x, int y);
Kalkulator for offentlig klasse
public int add (int x, int y)
returner x + y;
Offentlig int Trekker (int x, int y)
Returner x - y;
Klasseprogram
statisk tomrom (streng [] args)
Kalkulatorkalkulator = ny kalkulator ();
Performcalculation beregningDelegate = kalkulator.Legg til;
int resultat = beregningDelegate (5, 3);
Konsoll.WritLine ($ "Addition = Resultat");
beregningDelegate = kalkulator.Trekke fra;
Resultat = beregningDelegate (5, 3);
Konsoll.WritLine ($ "subtraksjon = resultat");
Konsoll.Readline ();
Først defineres delegatreserasjonen som tar to heltallparametere og gir en heltall til gjengjeldelse et heltall. Den definerer også en kalkulatorklasse med to metoder: legg til og trekke fra henholdsvis tilleggs- og subtraksjonsoperasjoner.
I hovedmetoden opprettes en forekomst av kalkulatorklassen, og deretter tilordnes ADD -metoden til en delegatvariabel beregning av delegat. Dette betyr at beregning av delegat nå kan brukes til å kalle ADD -metoden i kalkulatorklassen. ADD -metoden kalles ved bruk av CalculationDelegate med argumenter 5 og 3.
Deretter tildeles beregningen delegat til subtract -metoden i kalkulatorklassen. Dette betyr at CalculationDelegate nå kan brukes til å kalle trekkmetoden i kalkulatorklassen. Trekkemetoden kalles ved bruk av CalculationDelegate med argumenter 5 og 3. Readline () -funksjonen kalles for å forhindre at konsollvinduet lukkes umiddelbart, her er utdataene fra koden:
Konklusjon
Delegater brukes ofte i C# for hendelseshåndtering, tilbakeringingsfunksjoner, og som en måte å passere funksjoner som argumenter til andre funksjoner. De gir en fleksibel måte å håndtere funksjoner på en objektorientert måte, noe som gjør det lettere å skrive en kode.