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

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


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

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

6   голосов , оценка 4.167 из 5