黑马程序员技术交流社区

标题: C# 事件定义 [打印本页]

作者: SUN_Q    时间: 2013-7-12 14:31
标题: C# 事件定义
声明委托。
public delegate void MyEvent(object sender, EventArgs e); //可放在任意地方,可能还要定义事件参数用来传递上下文需要的内容
在你的对象中定义事件,用于客户程序绑定事件处理程序。
public event MyEvent MyEventHandler
{
         add;
         remove;
}

还要在你的对象中触发事件。
private void FireEvent()
{
     if (MyEventHandler != null)
    {
        MyEventHandler(this, new EventArgs());
    }
}
我喜欢把它理解成:一个对象用来存放一个或多个其他对象函数的指针列表,当对象调激发这个事件时,就把所有的函数执行一次,而那些函数所属的对象只需好好呆着被调用就是了,跟监听差不多。

作者: 许庭洲    时间: 2013-7-13 06:17
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2