Diferența dintre delegați și evenimentele din C #

Diferența cheie - delegați vs evenimente în C #
 

C # este un limbaj de programare dezvoltat de Microsoft. Acesta susține programarea structurată și programarea orientată pe obiecte. Participanții și evenimentele sunt folosite pentru programarea bazată pe evenimente în C #. Un delegat este un pointer sigur pentru o metodă. Într-o aplicație cu o interfață grafică de utilizator (GUI), există butoane etc. Când faceți clic pe un buton, apare un fel de acțiune. Aceste acțiuni se numesc evenimente. De exemplu, reîmprospătarea unei pagini Web va declanșa evenimentul de încărcare a paginii. Acest articol discută diferența dintre delegați și evenimentele din C #. diferența cheie între delegat și eveniment din C # este asta un delegat este o referință la o metodă în timp ce un eveniment este asociat unui manipulator de evenimente folosind un delegat. Când apare un eveniment, acesta trimite un semnal delegatului. Atunci delegatul execută funcția corespunzătoare. Prin urmare, toate evenimentele depind de delegați.

CUPRINS

1. Prezentare generală și diferență cheie
2. Ce sunt delegați în C #
3. Ce sunt evenimentele din C #
4. Asemănări între delegați și evenimente în C #
5. Comparație între ele - Delegați vs Evenimente în C # în Formular Tabelar
6. rezumat

Ce sunt delegați în C #?

Delegații în C # sunt similare cu funcțiile de apel invers în alte limbi de programare, cum ar fi JavaScript. Funcțiile de redirecționare a apelurilor sunt atribuite în timpul rulării. Ele oferă funcționalități care pot fi comutate și pornite în funcție de necesități. Același lucru poate fi implementat folosind delegați în C #. Delegații din C # decuplează apelantul și funcția apelată. Prin urmare, reduce cuplajul greu.

.NET a clasificat tipurile în două categorii. Acestea sunt tipuri de valori și tipuri de referință. Structura este un exemplu de tip de valoare. Clasa este un exemplu de tip de referință. Delegații sunt, de asemenea, tipurile de referință. Un delegat este folosit pentru a menține o referință la o metodă. Acestea sunt pointeri în condiții de siguranță. Delegați provin din clasa System.Delegate. Declarația delegată este similară cu o declarație de metodă, dar conține cuvântul cheie "delegat". Sintaxa delegatului este după cum urmează. delegat. Tipul de returnare declară valoarea returnată prin metoda. Acesta este chemat de delegat. Lista parametrilor definește parametrii necesari metodei. Consultați programul de mai jos cu delegați.

Figura 01: Programul C # cu delegați

În conformitate cu programul de mai sus, metodele calSquare și calCube sunt similare cu delegatul declarat. În programul principal, variabila cal este atribuită funcției calSquare. Acum, calul indică metoda calSquare. Când treceți valoarea, valoarea pătrată este returnată și este imprimată pe ecran. Din nou, cal este atribuit metodei calCube. Acum, calul indică metoda calCube. Când treceți valoarea, valoarea cubului este returnată și imprimată pe ecran. Același delegat este folosit pentru a indica diferite metode. Prin urmare, crește flexibilitatea programului.

Ce sunt evenimentele din C #?

Într-o aplicație pot exista prese de taste, clicuri de butoane și mișcări ale mouse-ului. Când acestea apar, un eveniment va fi crescut. Când butonul de trimitere este apăsat într-un formular de trimitere, evenimentul button_click () este ridicat în fundal. Evenimentul solicită executarea funcției asociate. Când apare un eveniment, răspunsul aplicației la acesta. Există două secțiuni într-un program de gestionare a evenimentelor. Editorul conține definiția evenimentelor și este delegat. Abonatul acceptă evenimentul și pune la dispoziție ordonatorul de evenimente.

Declarația evenimentului este eveniment; Tipul unei declarații de eveniment trebuie să fie un tip delegat, iar delegatul trebuie să fie la fel de accesibil ca evenimentul în sine. Numele evenimentului ar trebui să fie un nume C # valabil.

Figura 02: Programul C # cu evenimente

În conformitate cu programul de mai sus, delegatul și evenimentul sunt create. În clasa Calculate, există o metodă de adăugare a două numere. Dacă se găsește un număr impar, evenimentul va avea loc. Este evenimentul ODdNumber (). În principala metodă, manipulatorul evenimentului EventDumber numeste delegatul. În cele din urmă, delegatul execută metoda.

Care este asemănarea dintre delegați și evenimentele din C #?

  • Atât delegații, cât și evenimentele din C # au legătură cu evenimentul

Care este diferența dintre delegați și evenimentele din C #?

Delegați vs evenimente în C #

Un delegat este o variabilă de tip referință care deține referința la o metodă. Un eveniment este un membru al clasei de tip delegat utilizat de obiect sau de clasă pentru a oferi notificări altor obiecte pe care un eveniment a avut loc.
 cuvinte cheie
Un delegat este declarat folosind cuvântul cheie "delegat". Un eveniment este declarat utilizând cuvântul cheie "eveniment".
Dependenţă
Delegații sunt nesigurați. Evenimentele depind de delegați.

rezumat - Delegați vs evenimente în C #

Delegații și evenimente sunt două concepte asociate cu programarea condusă de evenimente în C #. Acest articol a discutat diferența dintre delegați și evenimentele din C #. Diferența dintre delegat și evenimentul din C # este că un delegat este o referință la o metodă în timp ce un eveniment este asociat unui manipulator de evenimente folosind un delegat. Evenimentele depind de delegați. Când a avut loc un eveniment, acesta trimite un semnal delegatului. Atunci delegatul execută funcția corespunzătoare

Referinţă:

1.Balagurusamy, E. Programarea în C #, Premier. A patra ediție, McGraw Hill Education (India) Private Limited, 2016.
2. "Meniul primar". C Tutorial. Disponibil aici 
3.sachinbpaul. Delegați în C #, Sachin Paul, 1 octombrie 2014. Disponibil aici