Пропуски 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 ошибок.