委托:委托(delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。
委托(delegate)特别用于实现事件和回调方法。所有的委托(delegate)都派生自 system.delegate 类。
没有返回值,可以不包含参数
(1三亚 旅游景点)声明委托、定位委托事件、向委托添加事件、执行委托
输出结果:
由于btn_click为点击事件,点击第二次(第二次点描写雨的诗句击会再次向委托添加事件)的数据结果如下:
因此,向委托添加事件时,一个事件仅添加一次即可,若进行多次添加则调用委托时会将添加进入委托的所有事件进行调用,无论该事件是否已添加都会进行调用,故做如下处理(在构造函数中或在程序启动时添加委托事件):
上图中委托调用时提示波浪线,因为是委托在调用时可能未添加事件,将会抛出:未将英语动词的缩写重庆师范大学地址对象引用设置到对象的实例的异常信息,
异常信息:
宋四大家故调用时进行异常处理或做如下处理:
处理方案1:
处理方案2
此时,我们已经学会了action委托的简单使用,这时会有人考虑到,我想调用完返回信息action委托并没有返回,会限制我们的使用,不要着急,我们系统已经帮我们准备了一个现成的委托类型func,下面我们对func做个介绍。
话不多说,上代码,以下我们定义了包含两个参数int和double,返回值为string类型的func委托,并添加了两个事件fun_1和fun_2:
输出结果:
从输出结果不难看出向委托添加多个事件(委托的多播或组播),委托包含返回值时,仅得到最后向委托添加的事件(方法)的返回值,所以在使用有返回值时必须注意这一点。
以下为先添加fun_2后添加fun_1的返回结果:
到这里,委托的介绍我们已经介绍完了,更多相关c# func 和action 委托内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-05 02:26:45,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/cf7e8613dce3a3568531bcd6886d3c95.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:C#关于Func和Action委托的介绍详解.doc
本文 PDF 下载地址:C#关于Func和Action委托的介绍详解.pdf
留言与评论(共有 0 条评论) |