Метод подписывается на делегат, а не на event - C#
Формулировка задачи:
Здравствуйте, в книгах написано, что делегат нужен для event: создаётся делегат, потом создаётся event, затем подписываем метод на event. В нижеописанном коде, вызывается метод через делегат(пропускается стадия создания event). Как такое может быть?
class GameContext { static void Main(string[] args) { Action<string> _action; // делегат _action = Method; // подписываем метод на делегат _action("Hello"); // выполняем этот метод через делегат void Method(string arg) { Console.WriteLine(arg); Console.ReadLine(); } } }
Решение задачи: «Метод подписывается на делегат, а не на event»
textual
Листинг программы
class Foo { public Action Delegate { get; set; } public event Action Event; } class Program { static void Main() { var foo = new Foo(); foo.Delegate = null; // OK foo.Event = null; // Error foo.Delegate(); // OK foo.Event(); // Error } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д