Пропуски Junior Делегаты и события обновлено

Объявление и вызов события

Вопрос

Допишите объявление события и его безопасный вызов.

public __(1)__ EventHandler<OrderEventArgs> Paid;

protected virtual void OnPaid(OrderEventArgs e) => Paid__(2)__Invoke(this, e);

Попробуйте сами

Заполните пропуски по номерам.

1
2
Показать ответ и разбор

Коротко

Ключевое слово event ограничивает доступ снаружи до += и -=. Оператор ?. вызывает делегат, только если есть подписчики, и читает поле один раз, что защищает от гонки с отпиской.

Что в пропусках

1

event

2

?.

Разбор

Ключевое слово event ограничивает доступ снаружи до += и -=. Оператор ?. вызывает делегат, только если есть подписчики, и читает поле один раз, что защищает от гонки с отпиской.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме