主要过程如下:
1.在后台代码中,我们可以定义处理程序方法alartRang
2.然后定义委托,引用到处理程序方法的实例。
3.最后将委托添加到事件中。
从而,引发事件时就会调用相关的事件处理方法。
若要使用在另一个类中定义的事件,必须定义和注册一个事件处理程序。事件
处理程序必须具有与为事件声明的委托相同的方法签名。通过向事件添加事件
处理程序可注册该处理程序。向事件添加事件处理程序后,每当该类引发该事
件时都会调用该方法。
有关阐释引发和处理事件的完整示例,请参见如何:引发和使用事件。
为事件添加事件处理程序方法
定义一个具有与事件委托相同的签名的事件处理程序方法。
public class WakeMeUp
{
// AlarmRang has the same signature as AlarmEventHandler.
public void AlarmRang(object sender, AlarmEventArgs e)
{...};
...
}
使用对该事件处理程序方法的一个引用创建委托的一个实例。调用该委托实例
时,该实例会接着调用该事件处理程序方法。
// Create an instance of WakeMeUp.
WakeMeUp w = new WakeMeUp();
// Instantiate the event delegate.
AlarmEventHandler alhandler = new AlarmEventHandler(w.AlarmRang);
将该委托实例添加到事件。引发该事件时,就会调用该委托实例及其关联的事
件处理程序方法。
C# 复制代码
// Instantiate the event source.
AlarmClock clock = new AlarmClock();
// Add the delegate instance to the event.
clock.Alarm += alhandler;