Atšķirība starp delegātu un notikumiem C #

Galvenā atšķirība - Delegāti vs Notikumi C #
 

C # ir programmēšanas valoda, ko izstrādājusi Microsoft. Tas atbalsta strukturētu programmēšanu un uz objektu orientētu programmēšanu. Delegāti un notikumi tiek izmantoti notikumu vadītai programmēšanai C #. Deleģēts ir metodes drošs rādītājs. Lietojumprogrammā ar grafisko lietotāja interfeisu (GUI) ir pogas utt. Noklikšķinot uz pogas, notiek kāda veida darbība. Šīs darbības sauc par notikumiem. Piemēram, atsvaidzinot tīmekļa lapu, tiek aktivizēts lapas ielādes notikums. Šajā rakstā apskatīta atšķirība starp delegātu un notikumiem C #. galvenā atšķirība starp delegātu un notikumu C # ir tas delegāts ir atsauce uz metodi, kamēr notikums ir saistīts ar notikumu apstrādātāju, izmantojot delegātu. Kad notiek notikums, tas nosūta signālu deleģētajam. Tad delegāts izpilda atbilstošo funkciju. Tādējādi visi pasākumi ir atkarīgi no delegātiem.

SATURS

1. Pārskats un galvenās atšķirības
2. Kas ir delegāti C #
3. Kādi ir notikumi C #
4. Delegātu un notikumu līdzības C #
5. Salīdzinājums blakus - delegāti un notikumi C # tabulas formā
6. Kopsavilkums

Kas ir delegāti C #?

Delegāti C # ir līdzīgi atzvanīšanas funkcijām citās programmēšanas valodās, piemēram, JavaScript. Atzvanīšanas funkcijas tiek piešķirtas izpildlaikā. Tie nodrošina funkcionalitāti, kuru var pēc vajadzības ieslēgt un izslēgt. To var ieviest, izmantojot delegāti C #. C # delegāti atsaista zvanītāju un izsaukto funkciju. Tāpēc tas samazina smago sakabi.

.NET Framework tiek klasificēts tipos divās kategorijās. Tie ir vērtību tipi un atsauces tipi. Struktūra ir vērtības veida piemērs. Klase ir atsauces tipa piemērs. Delegāti ir arī atsauces veidi. Delegātu izmanto, lai turētu atsauci uz metodi. Tās ir tipa drošas norādes. Deleģētie tiek iegūti no System.Delegate klases. Delegāta deklarācija ir līdzīga metodes deklarācijai, taču tajā ir atslēgvārds “delegāts”. Delegāta sintakse ir šāda. deleģēt. Atgriešanās tips deklarē atgriešanas vērtību ar metodi. To sauc delegāts. Parametru saraksts nosaka parametrus, kas nepieciešami metodei. Skatiet zemāk esošo programmu kopā ar delegātiem.

01. attēls. C # programma ar delegātiem

Saskaņā ar iepriekš minēto programmu calSquare un calCube metodes ir līdzīgas deklarētajam pilnvarotajam. Pamatprogrammā mainīgais cal tiek piešķirts funkcijai calSquare. Tagad cal norāda uz calSquare metodi. Kad vērtība tiek pārsūtīta, tiek atgriezta kvadrāta vērtība un tā tiek izdrukāta uz ekrāna. Atkal cal tiek pielietots calCube metodei. Tagad cal norāda uz calCube metodi. Nododot vērtību, kuba vērtība tiek atgriezta un izdrukāta uz ekrāna. To pašu delegātu izmanto, lai atsauktos uz dažādām metodēm. Tāpēc tas palielina programmas elastību.

Kādi ir notikumi C #?

Lietojumprogrammā var būt taustiņu nospiešana, pogu klikšķi un peles kustības. Kad tie notiks, notikums būs palielinājies. Kad iesniegšanas formā tiek nospiesta poga Iesniegt, notikums button_click () tiek izvirzīts fonā. Notikums izsauc izpildīt saistīto funkciju. Kad notiek kāds notikums, lietojumprogrammas atbilde uz to. Notikumu apstrādes programmā ir divas sadaļas. Izdevējs satur notikumu definīciju un deleģē. Abonents pieņem notikumu un nodrošina tā apstrādātāju.

Notikuma deklarēšana ir notikums; Notikuma deklarācijas veidam jābūt pilnvarotā tipam, un pilnvarotajam jābūt tikpat pieejamam kā pašam notikumam. Pasākuma nosaukumam jābūt derīgam C # nosaukumam.

02 attēls: C # programma ar pasākumiem

Saskaņā ar iepriekšminēto programmu tiek izveidots delegāts un pasākums. Klasē Aprēķināt ir metode, kā pievienot divus skaitļus. Ja tiek atrasts nepāra skaitlis, notikums notiks. Tas ir eventOddNumber (). Galvenajā gadījumā notikumu apstrādātājs eventOddNumber izsauc delegātu. Visbeidzot, delegāts izpilda metodi.

Kāda ir līdzība starp delegātu un notikumiem C #?

  • Gan delegāti, gan notikumi C # ir saistīti ar notikumiem

Kāda ir atšķirība starp delegātu un notikumiem C #?

Delegāti un notikumi C #

Delegāts ir atsauces tipa mainīgais, kas satur atsauci uz metodi. Notikums ir deleģētā tipa klases loceklis, kuru objekts vai klase izmanto, lai sniegtu paziņojumus citiem objektiem par notikumu.
 Atslēgvārds
Delegāts tiek deklarēts, izmantojot atslēgvārdu “delegāts”. Notikums tiek deklarēts, izmantojot atslēgvārdu “notikums”.
Atkarība
Delegāti nav paļaujami. Pasākumi ir atkarīgi no delegātiem.

Kopsavilkums - Delegāti vs Notikumi C #

Delegāti un notikumi ir divi jēdzieni, kas saistīti ar notikumu virzītu programmēšanu C #. Šajā rakstā tika apspriesta atšķirība starp delegātu un notikumiem C #. Atšķirība starp delegātu un notikumu C # ir tāda, ka delegāts ir atsauce uz metodi, kamēr notikums ir saistīts ar notikumu apstrādātāju, izmantojot delegātu. Pasākumi ir atkarīgi no delegātiem. Kad noticis notikums, tas nosūta signālu deleģētajam. Tad delegāts izpilda atbilstošo funkciju

Atsauce:

1.Balagurusamy, E. Programming in C #, Premier. Ceturtais ed., McGraw Hill Education (Indija) Private Limited, 2016.
2. “Galvenā izvēlne”. C apmācība. Pieejams šeit 
3.sachinbpaul. Delegāti C #, Sachin Paul, 2014. gada 1. oktobris. Pieejams šeit