Чем события лучше делегатов? - 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) => { };
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д