委托和事件

主要过程如下:
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;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值