.net 系列:事件和委托_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > .net 系列:事件和委托

.net 系列:事件和委托

 2017/11/28 18:01:48  龙卷风的风  程序员俱乐部  我要评论(0)
  • 摘要:在.net的世界里,离不开委托和事件,其实理解透了后很简单,总结了一下分为5步:1)定义委托publicdelegatevoidRevicedEventHandler(objectsender,RevicedEventArgse);RevicedEventArgs:自定义参数源2)定义事件publiceventRevicedEventHandlerRevicedEvent;3)定义触发事件的函数publicvirtualOnReviced(RevicedEventArgse){if
  • 标签:事件 .net net
class="author-p-25303044 bold:true">在.net 的世界里,离不开委托和事件,其实理解透了后很简单,总结了一下分为5步:   1)定义委托   public delegate void RevicedEventHandler(object sender,RevicedEventArgs e);    RevicedEventArgs :自定义参数源   2) 定义事件 public event RevicedEventHandler RevicedEvent;   3) 定义触发事件的函数 public virtual  OnReviced(RevicedEventArgs  e) {    if(RevicedEvent!=null)    {        RevicedEvent(this,e);    } }   4)定义事件处理函数 public void DoSome(object sender,RevicedEventArgs  e) {    ....... }   5) 注册事件处理程序(将事件处理程序和事件关联起来)    this.RevicedEvent+=new RevicedEvent(DoSome);     说明:第1、2、3步是在发布者类定义,4、5步是在订阅类定义 调用:满足条件时调用,例如:person p =new person(); p.OnReviced(new RevicedEventArgs ());   其实:.net 后续又提供了泛型版本委托:public delegate void EventHandler<TEventArgs>(object sender, TEventArgs e); 所以,第2步的事件可以换成:public event EventHandler<RevicedEventArgs  >RevicedEvent;此时第1步可以省略掉。  

 

发表评论
用户名: 匿名