/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/csharp/csharp-505-161-013/main.cs
47 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
using System; // Определение делегата public delegate void MessageHandler(string message); // Класс, генерирующий события public class EventPublisher { public event MessageHandler OnMessageReceived; public void Broadcast(string msg) { Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] Отправлено сообщение: {msg}"); OnMessageReceived?.Invoke(msg); } } // Класс, подписывающийся на события public class Subscriber { public void HandleMessage(string msg) { Console.WriteLine($"[{DateTime.Now:HH:mm:ss}] Получено: {msg}"); } } class Program { static void Main() { EventPublisher publisher = new EventPublisher(); Subscriber sub1 = new Subscriber(); Subscriber sub2 = new Subscriber(); // Подписка на событие publisher.OnMessageReceived += sub1.HandleMessage; publisher.OnMessageReceived += sub2.HandleMessage; // Генерация события publisher.Broadcast("Привет, мир!"); publisher.Broadcast("C# мощный язык!"); // Отписка от события publisher.OnMessageReceived -= sub1.HandleMessage; publisher.Broadcast("Только второй подписчик услышит это."); } }