Что такое событие, для чего оно нужно - C#
Формулировка задачи:
Помогите разобраться, что ли
Вчера пытался понять что же такое событие, для чего оно нужно, зачем ему делегат
Ну и собственно вот попытки
Как я понял, делегат нужен событию для того чтобы подписчики были только одной сигнатуры?
То есть нельзя чтобы, например, подписчики были типа int и типа void?
using System; public delegate void MethodContainer(); // Это делегат, который вызовет метод с сигнатурой void class ClassCounter // Это класс издатель { public event MethodContainer onCount; // Это событие, которое произойдет при вызове onCount public void Count() { for (int i = 0; i < 100; i++) { if (i == 10) { Console.WriteLine("Событие вызвано"); onCount(); // Вызов события } } } } class Handler_I // Класс подписчик { public void Message() { Console.WriteLine("Handler_I: Счет достиг 10"); } } class Handler_II // Класс подписчик { public void Message() { Console.WriteLine("Handler_II: Счет достиг 10"); } } class Program { static void Main() { ClassCounter Counter = new ClassCounter(); // Создание экземпляров Handler_I Handler1 = new Handler_I(); Handler_II Handler2 = new Handler_II(); //Подписались на событие Counter.onCount += Handler1.Message; Counter.onCount += Handler2.Message; //Запустили счетчик Counter.Count(); } }
Решение задачи: «Что такое событие, для чего оно нужно»
textual
Листинг программы
public static void Main() { // Создание делегата. strMod strOp = new strMod(replaceSpaces); // ?????? string str; // Вызываем методы посредством делегата. str = strOp("Это простой тест."); // В качестве параметра передается string Console.WriteLine("Результирующая строка: " + str); Console.WriteLine(); //...
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д