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

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

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

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

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

textual
Листинг программы
public class TestClass
    {
        public Action SomeAction;
        public event EventHandler MyEvent;
 
        public void FireEvent()
        {
            MyEvent(this, new EventArgs());
        }
    }
 
class Program
    {
        static void Main(string[] args)
        {
            var tc = new TestClass();
            tc.SomeAction += Method;
            tc.SomeAction();
 
            tc.SomeAction -= Method;
            tc.SomeAction();
 
 
            tc.MyEvent += MyEventHandler;
            tc.FireEvent();
 
            tc.MyEvent -= MyEventHandler;
            tc.FireEvent();
            
            Console.ReadKey(true);
        }
 
        private static void Method()
        {
            Console.WriteLine("I am a subscriber of delegate.");
        }
 
        private static void MyEventHandler(object obj, EventArgs e)
        {
            Console.WriteLine("I am a subscriber of event.");
        }
    }

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


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

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

10   голосов , оценка 4.2 из 5
Похожие ответы