小编Lon*_*Ngo的帖子

在C#中举起一个事件

我在微软实践测试中遇到了这个问题,我感到很困惑.这是一个问题:

假设已声明了Alarm事件,AlarmEventArgs类和AlarmEventHandler委托,以下哪个C#代码示例是引发事件的正确方法?

以下是他们提供的"正确"答案:

AlarmEventArgs e = new AlarmEventArgs(1, 2);
AlarmEventHandler handler = Alarm; 
if (handler != null) 
{ 
    handler(this, e);
}
Run Code Online (Sandbox Code Playgroud)

但是,还有另一个看似正确的答案.

AlarmEventArgs e = new AlarmEventArgs(1, 2);
if (Alarm!= null) 
{ 
    Alarm (this, e);
}
Run Code Online (Sandbox Code Playgroud)

我个人总是使用第二种方法.它工作得很好.有人可以告诉我为什么我应该使用第一种方法而不是第二种方法?

c# events raise

20
推荐指数
1
解决办法
4万
查看次数

标签 统计

c# ×1

events ×1

raise ×1