异步编程 委托 接口 方
法 方法的使用小总结
!""
让我们来看看同步异步的区别:
同步方法调用在程序继续执行之前需要等待同步方法执行完毕返回结果
异步方法则在被调用之后立即返回以便程序在被调用方法完成其任务的同时执
行其它操作
#$% 框架基类库中有好几种类都可以提供同步和异步的方法调用。
因为同步方法调用会导致程序流程中途等待,所以采用同步方法的情况下往往
会导致程序执行的延迟
相比来说,在某些条件下选择异步方法调用就可能更好一些
例如,有的时候程序需要给多个 & 服务发出请求,还有远程处理信道
('%%(、%()和代理,这时就最好采用异步方法
#$% )*+,* 允许异步调用任何方法,定义与需要调用的方法具有相同签
名的委托
- 将自动为该委托定义添加适当签名的 虚方法和
虚方法和 方法。
关于委托的这 . 个方法的详细说明可以参考这文章
先定义一个委托如下:
/ +'* * 0
再用 12- 反汇编程序+#3来观看反汇编代码
其实 - 为我们做了 件事情
#定义一个构造器
#定义一个虚方法
.#定义一个虚方法
#定义一个虚方法
()在反汇编代码中我看到如下片断:
# / +'*
444444 3 5+*62+#17
8
9 :: ; +'*
由此可以知道其实我们声明的委托 +'* 就是一个密封类
它的父类是 2+#17
看到这里,我的一个疑惑被解除了
以前我也自己定义过委托,总是感觉好像在程序中到处都可以定义委托,在类里面和类的外部
都可以定义,一直不知道为什么?
现在我基本明白了,其实委托是一个类,类可以在哪里定义,委托就可以在哪里定义。
()我们现在再来看看构造器