C# 委托原理的探究与深入
2017-09-04 14:50
246 查看
1.委托可以向传递对象一样传递其他方法的引用,并调用这样的引用方法,类似于C/C++中的捕捉函数指针,作为方法实参传入。委托作为数据类型使用,即,表示方法的数据类型就是委托,同时也可以说,某一委托的数据类型是xxx(参数前的类型)。
2.委托实际是特殊的类,所有的委托直接或者间接的派生自Delegate,而.Net下的委托类型派生自MulticastDelegate(Delagate的子类)
2.委托实际是特殊的类,所有的委托直接或者间接的派生自Delegate,而.Net下的委托类型派生自MulticastDelegate(Delagate的子类)
using System; public class A { //委托,也是引用类型,从C#2.0之后方法向委托的转换会自动创建新的委托对象 public delegate bool CompareHandler(int first, int second); //与委托签名匹配的方法,方法名称可以不同,但是参数和返回值必须兼容委托的签名 public static bool Than(int fir,int sec) { return fir > sec; } /// <summary> /// compare数据类型是CompareHandler /// </summary> /// <param name="items">参与排序的数组</param> /// <param name="compare">传入的是Than</param> public static void Sort(int[] items,CompareHandler compare) { //... } static void Main() { int[] items = new int[10]; Sort(items,Than); //Sort(new CompareHandler(Than)); } }
相关文章推荐
- 深入理解C#委托及原理
- ch01.深入理解C#委托及原理_《没有控件的ASPDONET》
- ch01.深入理解C#委托及原理_《没有控件的ASPDONET》
- 深入理解C#委托及原理
- 深入理解C#委托及原理
- ch01.深入理解C#委托及原理(转)
- 深入理解C#委托及原理
- ch01.深入理解C#委托及原理_《没有控件的ASPDONET》
- 深入理解C#委托及原理
- 深入理解C#委托及原理
- 深入PHP内核(一)——弱类型变量原理探究
- 深入理解C#委托的实质
- C#综合揭秘——深入分析委托与事件
- 【Java并发编程】15、ReentrantLock实现原理深入探究
- 深入探究宽字节注入漏洞与修补原理
- ReentrantLock实现原理深入探究
- 深入PHP内核(一)——弱类型变量原理探究
- 深入浅析C#中单点登录的原理和使用
- 【问底】王帅:深入PHP内核(一)——弱类型变量原理探究
- C#深入学习 之 委托和事件