Różnica między delegatami i wydarzeniami w C #

Kluczowa różnica - delegaci vs wydarzenia w DO#
 

C # to język programowania opracowany przez Microsoft. Obsługuje programowanie strukturalne i programowanie obiektowe. Delegaci i zdarzenia są używane do programowania sterowanego zdarzeniami w języku C #. Delegat jest bezpiecznym wskaźnikiem typu dla metody. W aplikacji z graficznym interfejsem użytkownika (GUI) znajdują się przyciski itp. Po kliknięciu przycisku następuje działanie. Te działania nazywane są zdarzeniami. Na przykład odświeżenie strony internetowej spowoduje zdarzenie ładowania strony. W tym artykule omówiono różnicę między delegatami a wydarzeniami w języku C #. The kluczowa różnica to między delegatem a zdarzeniem w C # delegat jest odwołaniem do metody, podczas gdy zdarzenie jest powiązane z obsługą zdarzenia za pomocą delegata. Gdy wystąpi zdarzenie, wysyła sygnał do uczestnika. Następnie delegat wykonuje odpowiednią funkcję. Dlatego wszystkie wydarzenia zależą od delegatów.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to są delegaci w C #
3. Co to są wydarzenia w C #
4. Podobieństwa między delegatami i wydarzeniami w C #
5. Porównanie obok siebie - Delegaci vs wydarzenia w C # w formie tabelarycznej
6. Podsumowanie

Co to są delegaci w C #?

Delegaci w języku C # są podobne do funkcji zwrotnych w innych językach programowania, takich jak JavaScript. Funkcje oddzwaniania są przypisywane w czasie wykonywania. Zapewniają funkcjonalność, którą można włączać i wyłączać w razie potrzeby. To samo można zaimplementować przy użyciu delegatów w języku C #. Delegaci w języku C # oddzielają osobę dzwoniącą i wywoływaną funkcję. Dlatego zmniejsza ciężkie sprzężenie.

.Struktura NET sklasyfikowała typy na dwie kategorie. Są to typy wartości i typy referencyjne. Struktura jest przykładem typu wartości. Klasa jest przykładem typu odwołania. Delegaci są również typami odniesienia. Delegat służy do przechowywania odwołania do metody. Są wskaźnikami bezpiecznymi dla typu. Delegowane pochodzą z klasy System.Delegate. Deklaracja delegowania jest podobna do deklaracji metody, ale zawiera słowo kluczowe „delegat”. Składnia delegata jest następująca. delegować. Typ zwracany deklaruje wartość zwracaną przez metodę Nazywa go delegat. Lista parametrów określa parametry wymagane przez metodę. Zapoznaj się z poniższym programem z delegatami.

Rysunek 01: Program C # z delegatami

Zgodnie z powyższym programem metody calSquare i calCube są podobne do zadeklarowanego uczestnika. W programie głównym zmienna cal jest przypisana do funkcji calSquare. Teraz cal wskazuje na metodę calSquare. Po przekazaniu wartości kwadratowa wartość jest zwracana i jest drukowana na ekranie. Ponownie, cal jest przypisany do metody calCube. Teraz cal wskazuje na metodę calCube. Po przekazaniu wartości wartość kostki jest zwracana i drukowana na ekranie. Ten sam pełnomocnik służy do odwoływania się do różnych metod. Dlatego zwiększa elastyczność programu.

Jakie są wydarzenia w C #?

W aplikacji mogą występować naciśnięcia klawiszy, kliknięcia przycisków i ruchy myszy. Gdy wystąpią, wydarzenie zostanie podniesione. Po naciśnięciu przycisku wysyłania w formularzu zgłoszenia zdarzenie button_click () jest wywoływane w tle. Zdarzenie wywołuje wykonanie powiązanej funkcji. Gdy wystąpi zdarzenie, aplikacja odpowiada na to. Program obsługi zdarzeń składa się z dwóch części. Wydawca zawiera definicję zdarzeń i delegowane. Subskrybent akceptuje zdarzenie i udostępnia moduł obsługi zdarzenia.

Deklaracja zdarzenia jest zdarzeniem; Typ deklaracji zdarzenia musi być typem pełnomocnika, a pełnomocnik musi być tak samo dostępny, jak samo zdarzenie. Nazwa zdarzenia powinna być prawidłową nazwą C #.

Rysunek 02: Program C # ze zdarzeniami

Zgodnie z powyższym programem, uczestnik i wydarzenie są tworzone. W klasie Calculate istnieje metoda dodania dwóch liczb. Jeśli zostanie znaleziona liczba nieparzysta, zdarzenie nastąpi. Jest to eventOddNumber (). W metodzie głównej moduł obsługi zdarzeń eventOddNumber wywołuje delegata. W końcu delegat wykonuje metodę.

Jakie jest podobieństwo między delegatami i wydarzeniami w C #?

  • Zarówno delegaci, jak i wydarzenia w języku C # są powiązane ze zdarzeniami

Jaka jest różnica między delegatami a wydarzeniami w C #?

Delegaci vs wydarzenia w C #

Delegat jest zmienną typu odwołania, która zawiera odniesienie do metody. Zdarzenie jest członkiem klasy typu delegata używanym przez obiekt lub klasę w celu powiadamiania innych obiektów o wystąpieniu zdarzenia.
 Słowo kluczowe
Delegat jest zadeklarowany przy użyciu słowa kluczowego „delegat”. Zdarzenie jest deklarowane przy użyciu słowa kluczowego „event”.
Zależność
Delegaci są niezależni. Wydarzenia zależą od delegatów.

streszczenie - Delegaci vs wydarzenia w DO#

Delegaci i zdarzenia to dwie koncepcje związane z programowaniem sterowanym zdarzeniami w języku C #. W tym artykule omówiono różnicę między delegatami a wydarzeniami w języku C #. Różnica między delegatem a zdarzeniem w języku C # polega na tym, że delegat jest odwołaniem do metody, podczas gdy zdarzenie jest powiązane z procedurą obsługi zdarzenia za pomocą delegata. Wydarzenia zależą od delegatów. Kiedy zdarzenie miało miejsce, wysyła sygnał do delegata. Następnie delegat wykonuje odpowiednią funkcję

Odniesienie:

1.Balagurusamy, E. Programowanie w C #, Premier. Wydanie czwarte, McGraw Hill Education (India) Private Limited, 2016.
2. „Menu główne”. Samouczek C. Dostępny tutaj 
3.sachinbpaul. Delegaci w C #, Sachin Paul, 1 października 2014. Dostępny tutaj