Реализуйте класс «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, "Тема встречи"); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д