Для чего использовать ключевое слово event в объявлении события, если события — это те же самые делегаты - C#

Узнай цену своей работы

Формулировка задачи:

Господа, скажите пожалуйста, для чего использовать ключевое слово event в объявлении события, если события - это те же самые делегаты ? Вроде все прекрасно можно реализовать и без event. По сути объявление поля события - это объявление переменной делегата, в которую в дальнейшем внедряются методы. И соответственно при вызове этого события происходит групповой вызов методов. Спасибо.

Решение задачи: «Для чего использовать ключевое слово event в объявлении события, если события — это те же самые делегаты»

textual
Листинг программы
  1. public class TestClass
  2.     {
  3.         public Action SomeAction;
  4.         public event EventHandler MyEvent;
  5.  
  6.         public void FireEvent()
  7.         {
  8.             MyEvent(this, new EventArgs());
  9.         }
  10.     }
  11.  
  12. class Program
  13.     {
  14.         static void Main(string[] args)
  15.         {
  16.             var tc = new TestClass();
  17.             tc.SomeAction += Method;
  18.             tc.SomeAction();
  19.  
  20.             tc.SomeAction -= Method;
  21.             tc.SomeAction();
  22.  
  23.  
  24.             tc.MyEvent += MyEventHandler;
  25.             tc.FireEvent();
  26.  
  27.             tc.MyEvent -= MyEventHandler;
  28.             tc.FireEvent();
  29.            
  30.             Console.ReadKey(true);
  31.         }
  32.  
  33.         private static void Method()
  34.         {
  35.             Console.WriteLine("I am a subscriber of delegate.");
  36.         }
  37.  
  38.         private static void MyEventHandler(object obj, EventArgs e)
  39.         {
  40.             Console.WriteLine("I am a subscriber of event.");
  41.         }
  42.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.2 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы