声明委托。
public delegate void MyEvent(object sender, EventArgs e); //可放在任意地方,可能还要定义事件参数用来传递上下文需要的内容
在你的对象中定义事件,用于客户程序绑定事件处理程序。
public event MyEvent MyEventHandler
{
add;
remove;
}
还要在你的对象中触发事件。
private void FireEvent()
{
if (MyEventHandler != null)
{
MyEventHandler(this, new EventArgs());
}
}
我喜欢把它理解成:一个对象用来存放一个或多个其他对象函数的指针列表,当对象调激发这个事件时,就把所有的函数执行一次,而那些函数所属的对象只需好好呆着被调用就是了,跟监听差不多。
|
|