Реализуйте класс «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, "Тема встречи");
        }
    }
}

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


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

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

10   голосов , оценка 3.9 из 5
Похожие ответы