码迷,mamicode.com
首页 > Web开发 > 详细

.net 系列:事件和委托

时间:2017-11-28 17:20:13      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:调用   init   条件   link   author   soft   handler   weight   str   

在.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步可以省略掉。
 

 

.net 系列:事件和委托

标签:调用   init   条件   link   author   soft   handler   weight   str   

原文地址:http://www.cnblogs.com/nicholashjh/p/7910925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!