Microsoft Practice Test でこの質問に出会い、混乱しました。質問は次のとおりです。
Alarm イベント、AlarmEventArgs クラス、および AlarmEventHandler デリゲートが宣言されていると仮定して、イベントを発生させる適切な方法は次の C# コード サンプルのうちどれですか?
彼らが提供した「正しい」答えは次のとおりです。
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);
}
個人的には、常に 2 番目の方法を使用します。それはうまく動作します。2番目の方法ではなく最初の方法を使用する理由を教えてください。