Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csOpDeAd 133 of 163 menu
◀ ▶

Сбор и снятие обработчиков в C#

Оператор += дописывает метод к существующей цепочке, а -= снимает конкретный обработчик. Если метод не был в списке, -= просто ничего не меняет.

Запишем два обработчика, добавим оба и вызовем делегат:

void A() { Console.Write("A"); } void B() { Console.Write("B"); } Action? chain = A; chain += B; chain?.Invoke();

Уберем один обработчик и снова вызовем переменную:

void A() { Console.Write("A"); } void B() { Console.Write("B"); } Action? chain = A; chain += B; chain -= A; chain?.Invoke();

Сделайте два метода, которые выводят "on" и "off" с новой строки. Добавьте оба в одну переменную, затем снимите первый и выполните один общий вызов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить