关闭

委托和事件

378人阅读 评论(0) 收藏 举报

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

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:81087次
    • 积分:1313
    • 等级:
    • 排名:千里之外
    • 原创:41篇
    • 转载:31篇
    • 译文:0篇
    • 评论:11条