简而言之就是允许一个线程和另外一个线程进行通讯,SynchronizationContext在通讯中充当传输者的角色。另外这里有个地方需要清楚的,不是每个线程都附加SynchronizationContext这个对象,只有UI线程是一直拥有的。 在多线程操作时往往需要切回某个线程中去工作,等完成后再 ...
分类:
编程语言 时间:
2017-10-24 17:20:58
阅读次数:
297
看书看得有点晕了,协变、逆变傻傻分不清楚。 看到泛型和委托、委托方法,发现这里面的协变和逆变不一样。 泛型的逆变和协变:如果某个返回类型可以由其基类替换,那么这个类型就是支持协变的。如果某个参数类型可以由其派生类替换,那么这个类型就是支持逆变的。 委托方法的逆变和协变: 如果某个返回类型可以由其派生 ...
分类:
其他好文 时间:
2017-10-19 11:06:23
阅读次数:
172
1. 委托Delegate C#中的Delegate对应于C中的指针,但是又有所不同C中的指针既可以指向方法,又可以指向变量,并且可以进行类型转换, C中的指针实际上就是内存地址变量,他是可以直接操作内存的,通过内存地址直接访问变量,直接调用方法。 而C#中的Delegate是强类型的,也就是说在声 ...
a. 委托:是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。所谓兼容的方法,是指这个方法和委托的方法签名具有相同的返回类型和参数 i. 语法:delegate 方法签名; 1. 方法签名是方法的名字,没有方法体 ii. 使用委托的过程 1. 定义委托和委托对象 ... ...
分类:
编程语言 时间:
2017-09-17 00:21:00
阅读次数:
199
1. 设定计时器相关属性,使用委托方法处理事件触发 DispatcherTimer dispatcherTimer= new DispatcherTimer(); dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);dispa ...
分类:
其他好文 时间:
2017-09-12 16:05:42
阅读次数:
177
初识委托: 在之前的学习中我们已经可以把对象,值,数组当作参数传递给方法,但是有没有可能把方法也当作参数传递给方法呢?有了这个想法于是就有了委托。方法当作一种参数去传递,但是方法有的有返回值有的没有返回值,这如何处理?委托又用在什么地方?通过这篇文章我们来学习一下委托的用法 委托解密: 在C#中要使 ...
分类:
其他好文 时间:
2017-09-10 16:40:01
阅读次数:
178
1、概述 装饰模式和适配器模式在通用类图上没有太多的相似点,差别比较大,但是它们的功能有相似的地方:都是包装作用,都是通过委托方式实现其功能。不同点是:装饰模式包装的是自己的兄弟类,隶属于同一个家族(相同接口或父类),适配器模式则修饰非血缘关系类,把一个非本家族的对象伪装成本家族的对象,注意是伪装, ...
分类:
其他好文 时间:
2017-09-04 21:26:41
阅读次数:
257
可以用委托来搞定 也可以使用父类为接口继承的方法 ...
分类:
其他好文 时间:
2017-08-30 22:30:03
阅读次数:
162
服务接收端: public bool AppendChunk(string serverFileName, byte[] buff, long offset, out string errMsg) { errMsg = string.Empty; int maxSize =1024 * 1024;/ ...
分类:
其他好文 时间:
2017-08-21 18:13:29
阅读次数:
180
委托概念:如果我们要把方法当做参数来传递的话,就要用到委托。简单来说委托是一个类型,这个类型可以赋值一个方法的引用。 声明委托: 在C#中使用一个类分两个阶段,首选定义这个类,告诉编译器这个类由什么字段和方法组成的,然后使用这个类实例化对象。在我们使用委托的时候,也需要经过这两个阶段,首先定义委托, ...
分类:
其他好文 时间:
2017-08-19 23:44:06
阅读次数:
191