C # je programski jezik, ki ga je razvil Microsoft. Podpira strukturirano programiranje in objektno usmerjeno programiranje. Delegati in dogodki se uporabljajo za programiranje na podlagi dogodkov v C #. Delegat je tip-varen kazalec na metodo. V aplikaciji z grafičnim uporabniškim vmesnikom (GUI) obstajajo gumbi itd. Ko kliknete gumb, pride do neke vrste akcije. Ta dejanja se imenujejo dogodki. Na primer, osveževanje spletne strani bo sprožilo dogodek nalaganja strani. Ta članek govori o razliki med delegati in dogodki v C #. The ključna razlika med delegatom in dogodkom v C # je to delegat je sklicevanje na metodo, medtem ko je dogodek povezan z obdelovalcem dogodkov, ki uporablja delegat. Ko se dogodek zgodi, pošlje delegatu signal. Nato delegat izvede ustrezno funkcijo. Zato so vsi dogodki odvisni od delegatov.
1. Pregled in ključne razlike
2. Kaj so delegati v C #
3. Kaj so dogodki v C #
4. Podobnosti med delegati in dogodki v C #
5. Primerjava ob strani - Delegati proti dogodkom v C # v tabeli
6. Povzetek
Delegati v C # so podobni funkcijam za povratni klic v drugih programskih jezikih, kot je JavaScript. Funkcije povratnega klica so dodeljene med izvajanjem. Zagotavljajo funkcionalnost, ki jo lahko po potrebi vklopite in izklopite. Enako je mogoče izvesti s pomočjo delegatov v C #. Delegati v C # odklopijo klicatelja in klicano funkcijo. Zato zmanjša težko sklopko.
.NET okvirni tipi so razvrščeni v dve kategoriji. So tipi vrednosti in referenčni tipi. Struktura je primer vrste vrednosti. Razred je primer referenčne vrste. Delegati so tudi referenčni tipi. Za sklicevanje na metodo se uporablja delegat. So tipi, ki so varni za tip. Delegirani izhajajo iz razreda System.Delegate. Izjava delegata je podobna deklaraciji metode, vendar vsebuje ključno besedo „delegat“. Sintaksa delegata je naslednja. delegat. Vrsta vrnitve z metodo izjavi vrnjeno vrednost. Pokliče ga delegat. Seznam parametrov določa parametre, ki jih zahteva metoda. Glejte spodnji program z delegati.
Slika 01: Program C # z delegati
Glede na zgornji program sta metoda calSquare in calCube podobna deklariranemu delegatu. V glavnem programu je spremenljivka cal dodeljena funkciji calSquare. Zdaj cal kaže na metodo calSquare. Pri prenosu vrednosti se vrne kvadratna vrednost in se natisne na zaslon. Spet je cal dodeljena metodi calCube. Zdaj cal kaže na metodo calCube. Ko prenesemo vrednost, se vrednost kocke vrne in natisne na zaslon. Isti delegat se uporablja za sklicevanje na različne metode. Zato povečuje prožnost programa.
V aplikaciji lahko obstajajo pritiski tipk, kliki gumba in premikanje miške. Ko se to zgodi, se bo zgodil dogodek. Ko pritisnete gumb za oddajo v obrazcu za oddajo, se v ozadju dvigne dogodek button_click (). Dogodek pokliče izvedbo pridružene funkcije. Ko se zgodi dogodek, se odziv aplikacije na to. V programu ravnanja z dogodki sta dva oddelka. Založnik vsebuje definicijo dogodkov in delegiran. Naročnik sprejme dogodek in zagotovi oskrbnika dogodka.
Izjava dogodka je dogodek; Vrsta izjave o dogodku mora biti vrsta pooblaščenca, delegat pa mora biti enako dostopen kot sam dogodek. Ime dogodka mora biti veljavno ime C #.
Slika 02: Program C # z dogodki
Po zgornjem programu se delegat in dogodek ustvarita. V razredu Izračun obstaja metoda za dodajanje dveh števil. Če najdete liho številko, se bo zgodil dogodek. To je eventOddNumber (). V glavni metodi obdelovalec dogodkov eventOddNumber pokliče delegata. Končno delegat izvede postopek.
Delegati in dogodki v C # | |
Delegat je spremenljivka referenčnega tipa, ki vsebuje sklic na metodo. | Dogodek je član razreda delegatov, ki ga objekt ali razred uporablja za obveščanje drugih predmetov, da se je dogodek zgodil. |
Ključna beseda | |
Delegat je razglašen s ključno besedo 'delegate'. | Dogodek je prijavljen s ključno besedo "dogodek". |
Odvisnost | |
Delegati ne morejo biti nepopustljivi. | Dogodki so odvisni od delegatov. |
Delegati in dogodki so dva jezika, ki sta povezana s programiranjem, ki temelji na dogodkih, v C # Ta članek je obravnaval razliko med delegati in dogodki v C #. Razlika med delegatom in dogodkom v C # je v tem, da je delegat referenca na metodo, medtem ko je dogodek povezan z upravljavcem dogodkov, ki uporablja delegat. Dogodki so odvisni od delegatov. Ko se je zgodil dogodek, pošlje delegatu signal. Nato delegat izvede ustrezno funkcijo
1.Balagurusamy, E. Programiranje v C #, premier. Četrto izd., McGraw Hill Education (Indija) Private Limited, 2016.
2. "Primarni meni." C Tutorial. Na voljo tukaj
3.sachinbpaul. Delegati v C #, Sachin Paul, 1. oktober 2014. Na voljo tukaj