Для чего использовать ключевое слово 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."); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д