程序地带

c#委托和事件


委托就是把一个函数封装成对象,强化了c#的面向对象特性, 用法还在摸索


 


  事件是委托的特殊拓展,事件的使用主要包括:


  1.被委托者的创建     public  delegate  void  XXEventHandler(Parameter A,~);      //多播时返回只能是void,且使用该被委托者时 3,5中的参数必须保持一致


  2.定义事件                      public  event  XXEventHandler XXEvent;


  3.被委托者服务(自定义方法)的实现               //即事件发生时,需要被委托者做什么事情    void Serve(Parameter A,~){~}


  4.委托服务的订阅(事件关联)    触发者.XXEvent += new XXEventHandler(Serve);        //参数可以是静态方法也可以是某个实例的自有方法,在这一步我们定义的方法已经被封装


                                 //事件一般定义在触发者的类里,比如按钮被点击这个事件, 点击事件就被定义在Button类里


  5.事件触发     触发者.XXEvent(paraA,~);


 


     这样在事件被触发时,被委托者就可以执行我们订阅的服务


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/hyh2050/p/14238707.html

随机推荐

使用Python类似pandas的方式读取xml文件

文章目录0.什么是XML文件?1.为什么使用pandas_read_xml读取XML2.安装和加载3.使用3.1例一3.2例二3.3例三0.什么是XML文件?  XML是一种数据交换语言。那什么是数据...

herosunly 阅读(452)

Linux驱动中LCD相关参数及时序

在LCD的相关参数中主要是图像传输时序及VSYNC,HSYNC,DATA_ENABLE等参数LCD驱动移植中经常会需要配置LCD显示相关的参数及datatransfertiming。SO...

清风不识妻美 阅读(387)

float php 运算_PHP的数组常用函数分类整理

PHP数组常用函数分类整理一、数组操作的基本函数数组的键名和值array_values($arr);获得数组的值array_keys($arr);获得数组的键名array_flip($arr);数组中...

丁道骏 阅读(760)

VS如何修改所有同一名字的关键字

这里直接放图片首先进入界面:直接crtl+f打开查找界面点击向下的那个尖括号最后确定修改后点击右边的这个写有ab的符号的位置就这样,当前文件里所有同名的都被修改好了.哎,这样就可以朴实无华的装...

知耻而后勇_ 阅读(366)