Чем события лучше делегатов? - C#
Формулировка задачи:
Доброго времени суток господа, чем события лучше делегатов, чем лучше закомментированный вариант. Спасибо.
using System; using System.Linq; namespace LINQ_TEST_CS { class ClassCounter { public delegate void MethodContainer(); //public event MethodContainer onCount; public MethodContainer OnCount; public void Count() { for (int i = 0; i < 100; i++) { if (i == 71) { //onCount?.Invoke(); OnCount?.Invoke(); } } } } class Handler_I { public void Message() { Console.WriteLine("Пора действовать, ведь уже 71!"); } } class Handler_II { public void Message() { Console.WriteLine("Точно, уже 71!"); } } class Program { static void Main(string[] args) { ClassCounter counter = new ClassCounter(); Handler_I handler_I = new Handler_I(); Handler_II handler_II = new Handler_II(); //counter.onCount += handler_I.Message; //counter.onCount += handler_II.Message; counter.OnCount += handler_I.Message; counter.OnCount += handler_II.Message; counter.Count(); } } }
Решение задачи: «Чем события лучше делегатов?»
textual
Листинг программы
using System; namespace ConsoleApp789 { class Program { static void Main(string[] args) { var foo = new Foo(); foo.Handler = null; } } class Foo { public event EventHandler<EventArgs> Handler = (o, e) => { }; } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д