Реализуйте класс «Office» (Офис), имеющий событие «MeetingEvent» (Совещание) - C#
Формулировка задачи:
Ребят, профессионалы и просто добрые люди, будьте добры, помогите) Возникла проблемы с кодом программы. Вот само задание.
Реализуйте класс «Office» (Офис), имеющий событие «MeetingEvent» (Совещание). Реализуйте класс «Clerk» (Клерк) с обработчиком события
MeetingHandler(object Sender, int Day, int Month, string Topic). В основном блоке программы создайте один объект класса «Office» и несколько объектов класса «Clerk». Покажите, что все объекты класса «Clerk» реагируют на событие «MeetingEvent».
А это сам код программы. Но он неверный. По крайней мере хотя бы потому, что программа выдает ошибку. Взгляните, пожалуйста, кажется не правильно указан стринг Топик. (
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{ //Объявление типа делегата для события
delegate void MyEventHandler(object Sender, int Day, int Month, string Topic);
//Объявление класса, содержасего событие
class Office
{
public event MyEventHandler MeetingEvent;
//метод вызывающийся для запуска событий
public void OnMeetingEvent(int Day, int Month)
{
if (MeetingEvent != null)
MeetingEvent(this, Day, Month, string Topic);
}
}
class Clerk
{ //обработчик события
public int Number;
public Clerk(int num)
{
this.Number = num;
}
public void Handler(object Sender, int Day, int Month)
{
Console.WriteLine("Участник № {2} Произошло событие {0}. {1}", Day, Month, this.Number);
////(Проверка, чему принадлежит Calendar) Console.WriteLine(Sender is Calendar);
Console.ReadKey();
}
}
class Program
{
static void Main(string[] args)
{
Office evt = new Office();
Clerk c1 = new Clerk(1);
Clerk c2 = new Clerk(2);
Clerk c3 = new Clerk(3);
// добавить метод SaleHandler() в список событий
evt.MeetingEvent += c1.Handler;
evt.MeetingEvent += c2.Handler;
evt.MeetingEvent += c3.Handler;
//запустить событие
evt.OnMeetingEvent(7, 10);
}
}
}Решение задачи: «Реализуйте класс «Office» (Офис), имеющий событие «MeetingEvent» (Совещание)»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{ //Объявление типа делегата для события
delegate void MyEventHandler(object sender, int Day, int Month, string Topic);
//Объявление класса, содержасего событие
class Office
{
public event MyEventHandler MeetingEvent;
//метод вызывающийся для запуска событий
public void OnMeetingEvent(int Day, int Month, string Topic)
{
if (MeetingEvent != null)
MeetingEvent(this, Day, Month, Topic);
}
}
class Clerk
{ //обработчик события
public int Number;
public Clerk(int num)
{
this.Number = num;
}
public void Handler(object sender, int Day, int Month, string Topic)
{
Console.WriteLine("Участник № {2} Произошло событие {0}. {1}", Day, Month, this.Number);
////(Проверка, чему принадлежит Calendar) Console.WriteLine(Sender is Calendar);
Console.ReadKey();
}
}
class Program
{
static void Main(string[] args)
{
Office evt = new Office();
Clerk c1 = new Clerk(1);
Clerk c2 = new Clerk(2);
Clerk c3 = new Clerk(3);
// добавить метод SaleHandler() в список событий
evt.MeetingEvent += c1.Handler;
evt.MeetingEvent += c2.Handler;
evt.MeetingEvent += c3.Handler;
//запустить событие
evt.OnMeetingEvent(7, 10, "Тема встречи");
}
}
}