标签:调用 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