Obsah:
Definícia - Čo znamená obsluha udalostí?
Obsluha udalostí v C # je metóda, ktorá obsahuje kód, ktorý sa vykoná v reakcii na konkrétnu udalosť, ktorá sa vyskytne v aplikácii.
Obslužné programy udalostí sa používajú v aplikáciách grafického používateľského rozhrania (GUI) na spracovanie udalostí, ako sú kliknutia na tlačidlá a výbery ponúk, vyvolané ovládacími prvkami v používateľskom rozhraní. Obsluha jednej udalosti môže byť použitá na spracovanie udalostí vyvolaných viacerými ovládacími prvkami. Udalosť môže byť spojená s viacerými obslužnými programami udalostí, ktoré budú vyvolané synchrónne, keď nastane párny výskyt. Obslužné programy udalostí môžu byť tiež použité na spracovanie udalostí, ktoré signalizujú zmeny stavu objektu klientom objektu.
Techopedia vysvetľuje obsluhu udalostí
Model udalosti C # je založený na modeli „publikovať-predplatiť“, v ktorom trieda (vydavateľ) spustí udalosť, zatiaľ čo iná trieda (predplatiteľ) prijme túto udalosť. Obsluha udalostí je účastník, ktorý obsahuje kód na spracovanie konkrétnych udalostí.
Napríklad obsluha udalosti môže byť použitá na zvládnutie udalosti, ktorá nastane počas kliknutia na príkazové tlačidlo v používateľskom rozhraní.
V C # je udalosť spojená s jej obsluhou delegátom udalosti. Na vyvolanie udalosti a reakciu na udalosť sú dva potrebné prvky delegát, ktorý spája udalosť s jej metódou obsluhy a triedou, ktorá uchováva údaje udalosti. Pridaním inštancie delegovania do objektu udalosti pomocou operátora priradenia pridania ('+ =') sa obsluha udalosti nazýva pri výskyte jej pridruženej udalosti.
Podpis delegáta obsluhy udalostí obsahuje dva parametre, ktoré predstavujú inštanciu objektu zvyšujúcu udalosť a dáta udalosti uchovávajúce objekt. Podpis metódy obsluhy udalosti by sa mal zhodovať s podpisom delegáta pre danú udalosť as návratovým typom ako neplatný. Rámec .NET poskytuje vstavaný obslužný program udalostí, ktorý sa môže použiť v prípadoch, keď sa používaní delegáti líšia iba podľa názvu typu, a preto môžu znížiť kód, ktorý je potrebné udržiavať.
