尽管并非必须,但是大多数情况委托定义的返回值都为void,因为这部分委托基本都是需要绑定多个方法,也就是当前委托允许多个订阅者注册,但是当主函数执行委托对象上注册的方法时,不会返回结果,只会返回最后一个方法的结果值...,发布者根本不关心谁订阅了它的事件,为什么要订阅,跟别说返回值了,发布者要做的就是执行订阅它事件的方法,所以当委托绑定了多个事件时,返回值常常是void的原因.
2、如何让事件只允许一个客户订阅
using...,C#提供事件访问器,也可以实现上面的功能
3、事件访问器
C#提供事件访问器,通过它可以将委托封装成一个变量,像访问类中的属性那样,来访问事件,代码如下:
using System;
using System.Collections.Generic...下面是一个委托被调用的过程:
(1)、调用Invoke方法,中断发布者客户端的操作
(2)、开启一个线程
(3)、通过线程去执行所有订阅者的方法
(4)、所有订阅者方法执行完毕,将控制权返还给发布者客户端...,一个是AsyncCallback(回调函数),另一个是object
(4)、当在委托上调用BeginInvoke方法时,当委托对象只能包含一个方法,对于有多个订阅者注册的情况,只能通过GetInvocationList