如果不想声明自己的委托类型的话,可以使用System.EventHandler的委托类型
public delegate void EventHandler(object sender, EventArgs e);
其中EventArgs转送附加参数。
可以实现自己的EventArgs类
class myEventArgs:EventArgs
{
}
类名最好以EventArgs 结尾,这是个默认规则
调用时如果不想使用参数可以传递
EventArgs.Empty
事件其实背后做了很多工作,自动生成一个委托实例、一个注册委托的add_XXX方法、一个注销委托的
Remove_XXX方法。事实上这两个方法可以自己定制。只要声明事件时使用以下语法:
public event MyDelegate1 Event1
{
add
{
}
remove
{
}
}
在其中实现自己的注册函数即可。看上去是不是很像属性的定义:)
本文地址:http://com.8s8s.com/it/it43801.htm