Классы Делегаты - выполнение сразу двух событий при запуске программы - C#
Формулировка задачи:
Помогите разобраться в следующем. Сначала нужно создать один класс делегат, в них - метод обработки события. Событию назначается делегат. Затем событие выполняется. Следующий шаг. Нужно создать еще один такой класс делегат с событием. Но как сделать так чтобы выполнялись сразу два события при запуске программы.
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Console1 { public delegate void MyDeleg(object sender, EventArgs ea); class Delegat1 { static public event MyDeleg MyEvent; static public void MyMet(object sender, EventArgs ea) { Console.WriteLine("Cобытие1"); Console.ReadKey(); } static void Main(string[] args) { MyDeleg Z = new MyDeleg(MyMet); MyEvent += Z; MyEvent(null, new EventArgs()); } } class Delegat2 { static public event MyDeleg MyEvent2; static public void MyMet2(object sender, EventArgs ea) { Console.WriteLine("Событие2"); Console.ReadKey(); } static void Main2(string[] args) { MyDeleg Z = new MyDeleg(MyMet2); MyEvent2 += Z; MyEvent2(null, new EventArgs()); } } }
Решение задачи: «Классы Делегаты - выполнение сразу двух событий при запуске программы»
textual
Листинг программы
namespace ConsoleApplication6 { namespace Console1 { public delegate void MyDeleg(object sender, EventArgs ea); class Program { static void Main(string[] args) { //4. присвоить метод делегату MyDeleg Z = new MyDeleg(MyMet1); MyDeleg y = new MyDeleg(MyMet2); //5. назначить событие Delegat1.MyEvent += Z; Delegat2.MyEvent2 += y; //6 зажечь событие Delegat1.RunEvent(null, EventArgs.Empty); Delegat2.RunEvent(null, EventArgs.Empty); Console.ReadLine(); } //3. метод обработчика события static public void MyMet1(object sender, EventArgs ea) { Console.WriteLine("Cобытие1"); } //еще один метод обработки события static public void MyMet2(object sender, EventArgs ea) { Console.WriteLine("Событие2"); Console.ReadKey(); } } //1. объявляем класс class Delegat1 { //2. объявляем событие static public event MyDeleg MyEvent; //метод который запускает событие static public void RunEvent(object o,EventArgs e) { MyEvent(o,e); } } //А после всего создать второй такой класс с событием, //так чтобы после запуска программы выводились сообщения //из одного и второго класса одновременно. class Delegat2 { static public event MyDeleg MyEvent2; static public void RunEvent(object sender, EventArgs ea) { MyEvent2(sender, ea); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д