Зачем здесь при генерации события применяется 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()); // оповещение наблюдателей
}