Зачем здесь в обработчике событий используются аргументы object sender, EventArgs e? - C#
Формулировка задачи:
Здравствуйте! Подскажите пожалуйста , для чего в данной программе в строках 17, 26
необходимо указывать параметры object sender, EventArgs e ведь внутрь методов ничего не передается ? А всего лишь делается вывод на консоль :
{
Console.WriteLine( "Вижу, что OOPS!" );
}using System;
namespace Pavlovs_235
{
class Subj
{
public event EventHandler Oops; // СобытиеОбработчик
public void CryOops()
{
Console.WriteLine( "OOPS!" );
if ( Oops != null ) Oops( this, null );
}
}
class ObsA
{
public void OnOops( object sender, EventArgs e )
// отправитель, аргументы события
{
Console.WriteLine( "Вижу, что OOPS!" );
}
}
class ObsB
{
public static void OnOops( object sender, EventArgs e )
{
Console.WriteLine( "Я тоже вижу, что OOPS!" );
}
}
class Class1
{ static void Main()
{
Subj s = new Subj();
ObsA o1 = new ObsA();
ObsA o2 = new ObsA();
s.Oops += new EventHandler( o1.OnOops );
s.Oops += new EventHandler( o2.OnOops );
s.Oops += new EventHandler( ObsB.OnOops );
s.CryOops();
Console.ReadKey();
}
}
}Решение задачи: «Зачем здесь в обработчике событий используются аргументы object sender, EventArgs e?»
textual
Листинг программы
Oops( this, null );