c#事件总结

来源:互联网 发布:双十一淘宝退货率 编辑:程序博客网 时间:2024/05/16 17:47

C#事件总结

看到事件先不用怕,其实你肯定用过,随便一个winform程序基本都有按钮button,点击按钮会进入一个button_Click的方法,这个就是事件。这个方法平常是不调用的,只有在点击按钮的时候才会调用这个方法。于是我们可以把事件看成两个部分事件发生器(Publisher)与事件接收器(Receiver)。事件发生器即是button按钮注册了点击事件,当按钮被点击时通知事件接收器:我被点击了;事件接收器即是当接收到通知时调用的button_Click的方法。

c#的事件模型是以委托为基础的。委托是调用回调函数的一种类型安全的方式。对象凭借回调方法接受他们订阅的通知。委托的具体运用可以参考C#委托、同步调用、异步调用总结

首先先声明一个委托,再声明一个事件

delegate void MethodDelegate(string input);//表示有一个参数,无返回值event MethodDelegate MethodEvent;//将创建的委托和事件关联

登记事件并通知事件登记对象

MethodEvent += Method;//登记事件protected virtual void OnMethodEvent(string str){    if (MethodEvent != null)        MethodEvent(str);//事件是委托,委托是一个类,因此委托类型为引用类型。声明一个事件,若不给他赋值,他将默认为null,运行时会报错}

定义一个方法,返回值类型一致且传入的参数类型与数量一致

void Method(string input)//表示有一个参数。与上面的委托一致{    //实现}

触发事件

OnMethodEvent(str);

以上只是我对事件的浅薄理解,事实上事件不止如此简单,具体详细的我就不展开了。如果有什么理解错误的地方,请不吝指出,谢谢!

原创粉丝点击