Rozdiel medzi delegátmi a udalosťami v C #

Kľúčový rozdiel - delegáti vs. udalosti v roku 2007 C #
 

C # je programovací jazyk vyvinutý spoločnosťou Microsoft. Podporuje štruktúrované programovanie a objektovo orientované programovanie. Delegáti a udalosti sa používajú na programovanie udalostí v jazyku C #. Delegát je typom bezpečný ukazovateľ na metódu. V aplikácii s grafickým používateľským rozhraním (GUI) existujú tlačidlá atď. Po kliknutí na tlačidlo dôjde k nejakej akcii. Tieto akcie sa nazývajú udalosti. Napríklad obnovenie webovej stránky spustí udalosť načítania stránky. Tento článok popisuje rozdiel medzi delegátmi a udalosťami v C #. kľúčový rozdiel medzi delegátom a udalosťou v C # je to delegát je odkaz na metódu, zatiaľ čo udalosť je spojená s obsluhou udalosti pomocou delegáta. Ak dôjde k udalosti, vyšle delegátovi signál. Potom delegát vykoná zodpovedajúcu funkciu. Z tohto dôvodu sú všetky udalosti závislé od delegátov.

OBSAH

1. Prehľad a kľúčový rozdiel
2. Čo sú to delegáti v C #
3. Čo sú udalosti v C #
4. Podobnosti medzi delegátmi a udalosťami v C #
5. Porovnanie bok po boku - delegáti vs. udalosti v tabuľke C #
6. Zhrnutie

Čo sú to delegáti v C #?

Delegáti v jazyku C # sú podobní funkciám spätného volania v iných programovacích jazykoch, ako je napríklad JavaScript. Funkcie spätného volania sú priradené za behu. Poskytujú funkcie, ktoré je možné podľa potreby zapínať a vypínať. To isté sa dá implementovať pomocou delegátov v jazyku C #. Delegáti v C # odpojia volajúceho a volanú funkciu. Preto sa znižuje ťažká väzba.

.NET Framework rozdelil typy do dvoch kategórií. Sú to typy hodnôt a referenčné typy. Štruktúra je príkladom typu hodnoty. Trieda je príkladom referenčného typu. Delegáti sú tiež referenčnými typmi. Delegát sa používa na držanie odkazu na metódu. Sú to ukazovatele bezpečného typu. Delegované sú odvodené od triedy System.Delegate. Deklarácia delegáta je podobná deklarácii metódy, ale obsahuje kľúčové slovo „delegát“. Syntax delegáta je nasledovná. delegovať. Návratový typ deklaruje návratovú hodnotu metódou. Volá ho delegát. Zoznam parametrov definuje parametre požadované metódou. Odovzdajte program uvedený nižšie delegátom.

Obrázok 01: Program C # s delegátmi

Podľa vyššie uvedeného programu sú metódy calSquare a calCube podobné deklarovanému delegátovi. V hlavnom programe je premenná cal priradená funkcii calSquare. Teraz kal ukazuje na metódu calSquare. Pri odovzdávaní hodnoty sa vráti druhá hodnota a vytlačí sa na obrazovku. Cal je opäť priradený metóde calCube. Teraz kal ukazuje na metódu calCube. Pri odovzdávaní hodnoty sa hodnota kocky vráti a vytlačí na obrazovku. Ten istý delegát sa používa na označenie rôznych metód. Preto sa zvyšuje flexibilita programu.

Čo sú udalosti v C #?

V aplikácii môžu byť stlačenia klávesov, kliknutia na tlačidlá a pohyby myši. Ak k nim dôjde, udalosť sa objaví. Keď sa tlačidlo odoslania stlačí vo formulári na odoslanie, udalosť button_click () sa zdvihne na pozadí. Udalosť volá vykonanie pridruženej funkcie. Ak dôjde k udalosti, aplikácia na to reaguje. Program spracovania udalostí má dve sekcie. Vydavateľ obsahuje definíciu udalostí a je delegovaný. Účastník akceptuje udalosť a poskytuje obsluhovateľovi udalosti.

Vyhlásenie udalosti je udalosť; Typ vyhlásenia o udalosti musí byť typom delegáta a delegát musí byť rovnako prístupný ako samotná udalosť. Názov udalosti by mal byť platný názov C #.

Obrázok 02: Program C # s udalosťami

Podľa vyššie uvedeného programu sa vytvorí delegát a udalosť. V triede Vypočítať existuje spôsob, ako pridať dve čísla. Ak sa nájde nepárne číslo, dôjde k udalosti. Je to eventOddNumber (). V hlavnej metóde obsluha udalosti eventOddNumber volá delegáta. Nakoniec delegát vykoná metódu.

Aká je podobnosť medzi delegátmi a udalosťami v C #?

  • Delegáti aj udalosti v C # súvisia s udalosťami

Aký je rozdiel medzi delegátmi a udalosťami v C #?

Delegáti vs udalosti v C #

Delegát je premenná typu odkazu, ktorá obsahuje odkaz na metódu. Udalosť je členom triedy delegátov, ktorý používa objekt alebo trieda na upozornenie ostatných objektov na výskyt udalosti.
 kľúčové
Delegát je vyhlásený pomocou kľúčového slova „delegát“. Udalosť sa deklaruje pomocou kľúčového slova „event“.
závislosť
Delegáti sú nespoľahliví. Udalosti závisia od delegátov.

zhrnutie - Delegáti vs udalosti v roku 2006 C #

Delegáti a udalosti sú dva koncepty spojené s programovaním riadeným udalosťami v jazyku C #. V tomto článku sa diskutuje o rozdieloch medzi delegátmi a udalosťami v kategórii C #. Rozdiel medzi delegátom a udalosťou v C # je v tom, že delegát je odkazom na metódu, zatiaľ čo udalosť je spojená s obsluhou udalosti pomocou delegáta. Udalosti závisia od delegátov. Ak dôjde k udalosti, vyšle delegátovi signál. Potom delegát vykoná zodpovedajúcu funkciu

referencie:

1.Balagurusamy, E. Programovanie v C #, premiér. Štvrté vydanie, McGraw Hill Education (India) Private Limited, 2016.
2. „Primárne menu“. C Výukový program. K dispozícii tu 
3.sachinbpaul. Delegáti v C #, Sachin Paul, 1. októbra 2014. K dispozícii tu