C#中委托的基本用法总结
2013-09-30 09:41
537 查看
原则:
1、委托本质就是个指针,一个函数指针,拿到函数的首地址即可;
C#的委托加了安全性,体现在对于函数指针所引用的函数指令块的类型检测,比如返回值,参数类型,参数个数
而C中的函数指针被赋值的时候(在C#中,就是委托实例化的时候,因为C#中后台将委托处理成一个类了,封装了哈)被赋予的值是否满足类型的种种条件(返回值,参数类型,参数个数)不做检查,由用户给出保证,C#会编译提示出来
2、委托实例化的过程,也就是委托对象构造的过程,从底层来讲,即将一个现存的函数代码指令块的内存地址(静态函数,实例的非静态成员函数都行)赋值给这个委托;这个赋值过程,就是委托的构造函数要做的事情,所以,委托的构造函数一定有一个参数,这个参数在后台让系统处理,就是满足类型检查的函数指针,所要检查的类型(返回值,参数类型,参数个数)都是在声明定义委托的时候给出的。
3、委托实例化的两种方法:
1) A a = new A(静态方法名/实例.方法名);
2) A a = 静态方法名/实例.方法名;
委托调用的两种方法:
1)a.Invoke()
2)a()
用来构造委托的方法可以是静态方法,也可以是实例化对象的成员函数,本质是这段代码指令已经编译出来,分配了内存了,传递给委托的参数(本质就是这块指令数据的首地址)是有效的有意义的,从这个角度来理解,自然静态方法,实例方法都能用来构造、建立委托实例的了
您可能感兴趣的文章:
相关文章推荐
- C#中缓存的基本用法总结
- C#中缓存的基本用法总结
- C#中缓存的基本用法总结
- [c#基础教程]C#泛型列表List<T>基本用法总结
- C#委托的基本用法
- c# 基本 用法
- C# PowerPoint操作的基本用法
- C#中委托和事件机制(续)(个人总结)
- GIT基本概念和用法总结【转】
- 总结 @ 在 C# 中的用法
- 【学习总结】Oracle数据的基本用法
- Delphi GDI+基本用法总结
- C# 的委托总结
- Mac OS自带了apache基本用法总结
- C#中Dictionary的基本用法
- C#学习日记15----引用类型 之 string类型用法总结
- Solr学习总结(五)SolrNet的基本用法及CURD
- c# datatable用法总结
- C#的基础琐碎总结-----委托