Різниця між делегатами та подіями в C #

Ключова різниця - Делегати проти подій у C #
 

C # - мова програмування, розроблена Microsoft. Він підтримує структуроване програмування та об'єктно-орієнтоване програмування. Делегати та події використовуються для керування подіями програмування в C #. Делегат - безпечний для типу вказівник на метод. У програмі з графічним інтерфейсом користувача (GUI) є кнопки і т. Д. При натисканні кнопки відбувається якась дія. Ці дії називаються подіями. Наприклад, оновлення веб-сторінки призведе до події завантаження сторінки. У цій статті йдеться про різницю між делегатами та подіями в C #. The ключова різниця між делегатом і подією в C # це те, що делегат - це посилання на метод, в той час як подія асоціюється з обробником події за допомогою делегата. Коли відбувається подія, вона надсилає сигнал делегату. Тоді делегат виконує відповідну функцію. Отже, всі події залежать від делегатів.

ЗМІСТ

1. Огляд та ключові відмінності
2. Що таке делегати в C #
3. Що таке події в C #
4. Подібність між делегатами та подіями в C #
5. Порівняльне порівняння - делегати проти подій у C # у табличній формі
6. Підсумок

Що таке делегати в C #?

Делегати в C # схожі на функції зворотного виклику в інших мовах програмування, таких як JavaScript. Функції зворотного дзвінка призначаються під час виконання. Вони забезпечують функціонал, який можна включати та вимикати за потреби. Те ж саме можна реалізувати, використовуючи делегатів у C #. Делегати в C # відключають виклик і викликану функцію. Тому це зменшує важку муфту.

.NET Framework класифікує типи на дві категорії. Вони є типовими типами та типовими типами. Структура - приклад типу значення. Клас - приклад еталонного типу. Делегати також посилаються на типи. Делегат використовується для посилання на метод. Вони є безпечними вказівниками. Делеговані є похідними від класу System.Delegate. Декларація делегата схожа на декларацію методу, але містить ключове слово "делегат". Синтаксис делегата такий. делегат Тип повернення оголошує значення повернення методом. Його викликає делегат. Список параметрів визначає параметри, необхідні методу. Дивіться програму нижче з делегатами.

Малюнок 01: Програма C # з делегатами

Згідно з вищевказаною програмою, методи calSquare і calCube схожі на заявлений делегат. У головній програмі змінна cal призначається функції calSquare. Тепер cal вказує на метод calSquare. При передачі значення повертається квадратне значення, і воно друкується на екрані. Знову cal призначений метод calCube. Тепер cal вказує на метод calCube. При передачі значення значення куба повертається і друкується на екран. Один і той же делегат використовується для позначення різних методів. Тому це збільшує гнучкість програми.

Що таке події в C #?

У програмі можуть бути натискання клавіш, натискання кнопок і рухи миші. Коли вони відбудуться, подія буде порушена. Якщо натиснути кнопку подання у формі подання, подія button_click () піднімається на задньому плані. Подія викликає виконати пов'язану функцію. Коли відбувається подія, відповідь програми на це. У програмі обробки подій є два розділи. Видавець містить визначення подій та делегований. Абонент приймає подію та забезпечує обробку події.

Декларація події є подією; Тип декларації події повинен бути типом делегата, а делегат повинен бути таким же доступним, як і сама подія. Назва події має бути дійсним назвою C #.

Малюнок 02: Програма C # з подіями

Відповідно до вищезгаданої програми, делегат і подія створюються. У класі Обчислити існує метод додавання двох чисел. Якщо буде знайдено непарне число, подія відбудеться. Це eventOddNumber (). У головному методі обробник події eventOddNumber викликає делегата. Нарешті, делегат виконує метод.

Яка схожість між делегатами та подіями в C #?

  • І Делегати, і події в C # пов'язані з подіями

Яка різниця між делегатами та подіями в C #?

Делегати - події в C #

Делегат - це змінна тип посилання, яка містить посилання на метод. Подія - член класу типу делегата, який використовується об'єктом або класом для надання сповіщення іншим об'єктам про те, що подія сталася.
 Ключове слово
Делегат оголошується за допомогою ключового слова "делегат". Подія оголошується за допомогою ключового слова "подія".
Залежність
Делегатів не можна скасувати. Події залежать від делегатів.

Підсумок - Делегати - події в C #

Делегати та події - це два поняття, пов'язані з програмованим керуванням подіями в C #. У цій статті обговорювалася різниця між делегатами та подіями в C #. Різниця між делегатом і подією в C # полягає в тому, що делегат - це посилання на метод, тоді як подія асоціюється з обробником події з використанням делегата. Події залежать від делегатів. Коли сталася подія, вона надсилає сигнал делегату. Тоді делегат виконує відповідну функцію

Довідка:

1. Балагурусамі, Е. Програмування на C #, прем'єр. Четверте видання, McGraw Hill Education (Індія) Private Limited, 2016.
2. "Первинне меню". C Навчальний посібник. Доступний тут 
3.sachinbpaul. Делегати в C #, Sachin Paul, 1 жовтня 2014. Доступно тут