如何在类中编写事件

如何在类中编写事件
事件也是类的一种基本成员,它提供了这个类的对象与其他类对象的交互的能力。
作为产生事件的类,它需要向外暴露事件
这需要以下几步:
(1)声明一个委托,它定义了要注册本事件的用户在注册本事件是需要激发的方法
 public delegate void CurrentChangedEventHandler(object sender, CurrentChangedEventArgs e);
(2)声明事件成员,即上面定义的委托类型的事件
 public event CurrentChangedEventHandler CurrentChanged;
 这句不太正常的语句其实会被编译器翻译成下面的几句话:
 a、一个私有的委托类型变量
 private CurrentChangedEventHandler CurrentChanged;
 b、一个允许注册对象方法
 c、一个允许删除对象方法
这样也就很好理解界面端怎么注册对一个事件的关注了。界面通过+=和-=从委托链上添加和删除,也可以通过调用方法将委托添加和删除,界面的需要被委托的方法的参数列表必须和数据层声明的委托的参数列表完全相同。数据层通过促发事件(这个东西的写法就是事件的名字,加上委托的参数列表)向注册这个事件的用户发送消息,因为事件的形式如此msgName(Object sender,EventArgs e),所以客户端就可以接收到这两个参数,通常数据层会构建EventArgs的子类,在子类中构造要向界面传送的数据。这样界面通过解析e中的数据就能得到数据层的操作结果了。

转载于:https://www.cnblogs.com/ipointer/archive/2005/08/03/206197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值