Зачем здесь при генерации события применяется this? - C#
Формулировка задачи:
Здравствуйте! Подскажите пожалуйста , не пойму почему this применяется в строке 20 ( программа рабочая ) Впечатление , что просто от лампочки его применили, а как это понять не знаю.
//Листинг 10.2. Оповещение наблюдателей с помощью делегата
using System; namespace ConsoleApplicationl { public delegate void Del(object о); // объявление делегата class Subj // класс-источник { Del dels; // объявление экземпляра делегата public void Register(Del d) // регистрация делегата { dels += d; } public void OOPS() // что-то произошло { Console.WriteLine("OOPS!"); if (dels != null) dels(this); // оповещение наблюдателей } } class ObsA // класс наблюдатель { public void Do(object о) // реакция на событие источника { Console.WriteLine("Вижу, что OOPS!"); } } class ObsB // класс-наблюдатель { public static void See(object о) // реакция на событие источника { Console.WriteLine("Я тоже вижу, что OOPS!"); } } class Classl { static void Main() { Subj s = new Subj(); // объект класса-источника ObsA o1 = new ObsA(); // объекты ObsA o2 = new ObsA(); // класса-наблюдателя s.Register(new Del(o1.Do)); // регистрация методов s.Register(new Del(o2.Do)); // наблюдателей в источнике s.Register(new Del(ObsB.See)); // ( экземпляры делегата ) s.OOPS(); // инициирование события Console.ReadKey(); } } }
Решение задачи: «Зачем здесь при генерации события применяется this?»
textual
Листинг программы
public void OOPS() // что-то произошло { Console.WriteLine("OOPS!"); if (dels != null) dels.Invoke(new object()); // оповещение наблюдателей }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д