Я столкнулся с этим вопросом в практическом тесте Microsoft, и я запутался. Вот вопрос:
Какой из следующих примеров кода C #
это правильный способ поднять событие,
при условии, что событие Alarm,
Класс AlarmEventArgs и
AlarmEventHandler делегат был
объявлен
Вот «правильный» ответ, который они дали:
AlarmEventArgs e = new AlarmEventArgs(1, 2);
AlarmEventHandler handler = Alarm;
if (handler != null)
{
handler(this, e);
}
Однако есть и другой ответ, который кажется правильным.
AlarmEventArgs e = new AlarmEventArgs(1, 2);
if (Alarm!= null)
{
Alarm (this, e);
}
Лично я всегда использую второй метод. Работает просто отлично. Может кто-нибудь сказать мне, почему я должен использовать первый метод вместо второго?