Razlika između delegata i događanja u C #

Ključna razlika - Delegati vs Događaji u C #
 

C # je programski jezik koji je razvio Microsoft. Podržava strukturirano programiranje i objektno orijentirano programiranje. Delegati i događaji koriste se za programiranje na događajima u C #. Delegat je pokazivač tipa koji je siguran za tip. U aplikaciji s grafičkim korisničkim sučeljem (GUI) postoje gumbi itd. Kada se klikne gumb, događa se neka radnja. Te se akcije nazivaju događajima. Na primjer, osvježavanje web stranice pokreće događaj učitavanja stranice. Ovaj članak govori o razlici između delegata i događaja u C #. ključna razlika između delegata i događaja u C # je to delegat je referenca na metodu, dok je događaj povezan s upravljačem događaja koji koristi delegat. Kad se dogodi događaj, on šalje signal delegatu. Tada delegat izvršava odgovarajuću funkciju. Stoga svi događaji ovise o delegatima.

SADRŽAJ

1. Pregled i ključne razlike
2. Što su delegati u C #
3. Što su događaji u C #
4. Sličnosti između delegata i događanja u C #
5. Usporedna usporedba - Delegati u odnosu na događaje u C # u tabelarnom obliku
6. Sažetak

Što su delegati u C #?

Delegati u C # slični su funkcijama povratnog poziva u drugim programskim jezicima kao što je JavaScript. Funkcije povratnog poziva dodijeljene su za vrijeme izvršavanja. Pružaju funkcionalnost koja se po potrebi može uključiti i isključiti. Isto se može provesti pomoću delegata u C #. Delegati u C # odvaja pozivatelja i pozvanu funkciju. Stoga smanjuje tešku spojku.

.NET Framework klasificirao je vrste u dvije kategorije. Vrijedni su tipovi i referentne vrste. Struktura je primjer vrste vrijednosti. Klasa je primjer referentne vrste. Delegati su također referencirani tipovi. Delegat se koristi da bi imao referencu na metodu. Oni su pokazivači sigurni za tip. Delegirani su izvedeni iz klase System.Delegate. Izjava delegata slična je deklaraciji metode, ali sadrži ključnu riječ 'delegat'. Sintaksa delegata je sljedeća. delegat . Vrsta povratka metodu objavljuje povratnu vrijednost. Zove ga delegat. Popis parametara definira parametre potrebne u metodi. Pogledajte donji program s delegatima.

Slika 01: C # program s delegatima

Prema gornjem programu, metode calSquare i calCube slične su deklariranom delegatu. U glavnom programu je varijabla cal dodijeljena funkciji calSquare. Sada cal upućuje na calSquare metodu. Kod prijenosa vrijednosti vraća se kvadratna vrijednost i ona se ispisuje na zaslonu. Opet, cal je dodijeljen metodi calCube. Sad, cal upućuje na metodu calCube. Prilikom prijenosa vrijednosti, vrijednost kocke se vraća i ispisuje na ekranu. Isti delegat koristi se za upućivanje različitih metoda. Stoga povećava fleksibilnost programa.

Što su događaji u C #?

U aplikaciji mogu biti pritisci na tipke, klikovi na tipke i pokreti miša. Kad se to dogodi, događaj će se stvoriti. Kada se gumb za slanje pritisne u obrascu za prijavu, događaj button_click () podiže se u pozadini. Događaj poziva izvršenje pridružene funkcije. Kad se dogodi događaj, odgovor aplikacije na to. Postoje dva odjeljka u programu rukovanja događajima. Izdavač sadrži definiciju događaja i delegiran. Pretplatnik prihvaća događaj i osigurava ga.

Deklaracija događaja je događaj; Vrsta deklaracije događaja mora biti vrsta delegata, a delegat mora biti jednako dostupan kao i sam događaj. Naziv događaja trebao bi biti valjano C # ime.

Slika 02: C # program s događajima

Prema gore navedenom programu, delegat i događaj se stvaraju. U klasi Izračun postoji metoda dodavanja dva broja. Ako se pronađe neparan broj, događaj će se dogoditi. To je događajOddNumber (). U glavnoj metodi, voditelj događaja eventOddNumber poziva delegata. Napokon, delegat izvršava metodu.

Kakva je sličnost između delegata i događaja u C #?

  • I Delegati i događaji u C # povezani su s događajima

Koja je razlika između delegata i događaja u C #?

Delegati vs Događaji u C #

Delegat je varijabla referentnog tipa koja drži referencu na metodu. Događaj je član klase delegatskog tipa koji objekt ili klasa koriste za pružanje obavijesti drugim objektima o događaju.
 Riječ
Delegat je deklariran pomoću ključne riječi 'delegate'. Događaj se najavljuje pomoću ključne riječi "događaj".
zavisnost
Izaslanici su neodređeni. Događaji ovise o delegatima.

Sažetak - Delegati vs Događaji u C #

Izaslanici i događaji dva su koncepta povezana s programiranjem temeljenim na događajima u C #. Ovaj članak govori o razlici između delegata i događaja u C #. Razlika između delegata i događaja u C # je da je delegat referenca na metodu, dok je događaj povezan s upravljačem događaja koji koristi delegat. Događaji ovise o delegatima. Kada se dogodio događaj, on šalje signal delegatu. Tada delegat izvršava odgovarajuću funkciju

Referenca:

1.Balagurusamy, E. Programiranje u C #, premijera. Četvrto izdanje, McGraw Hill Education (Indija) Private Limited, 2016.
2. "Primarni izbornik." C Vodič. Dostupno ovdje 
3.sachinbpaul. Izaslanici u C #, Sachin Paul, 1. listopada 2014. Dostupno ovdje