C#面向对象(五)委托

委托

定义

委托是方法的代理,委托代表方法,调用委托就是调用了这个方法。委托是一种数据类型。

委托的使用
  1. 定义委托
    public delegate void Handler();
  2. 实例化委托
    Handler handler = new Handler(Func);
  3. 调用委托
    handler();
委托的分类

单播委托:一个委托对象只关联一个方法。
多播执行:一个委托对象关联多个方法,如果委托有返回类型不适合用多播执行。

实例化委托的写法
  1. Handler handler = new Handler(F);
  2. Handler handler = F;
  3. Handler handler = delegate(参数类型 参数名){}
  4. Handler handler = Lamda表达式;
委托的异步调用

步骤:
1. 为需要异步调用的方法定义一个相应的委托
2. 创建该委托的引用指向需要异步调用的方法
3. 使用委托类型的BeginInvoke方法开始异步调用
a) BeginInvoke中的参数IAsyncCallback 表示异步调用的方法结束时执行的回调方法,往往用回调方法来处理异步的结果
b) BeginInvoke中的参数object 表示在回调方法中需要用到的数据,该数据被封装在IAsyncResult的AsyncState属性中。
4. 如方法有返回值,则需要调用EndInvoke取得返回值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值