7、面向对象以及winform的简单运用(委托)
2015-02-23 21:43
363 查看
[b]委托[/b]
1、概念:
委托可以看成是一个函数的“容器”,将某一具体的函数“装入”后,就可以把它当成函数一样使用。委托变量可看成是一种类型安全的函数指针,它只能接收符合其要求的函数地址。
2、定义方法:delegate关键字。例:
3、利用委托调用函数
1)首先定义一个类,里面写几个方法:
2)通过委托调用函数:
4、注意:一个委托类型的变量,可以引用任何一个满足其要求的函数。
5、委托的扩展:
1)特殊的委托泛型集合,匿名委托
2)直接写方法
3)lambda方法简易版1、用s=>代替delegate(string s)
4)lambda方法简易版2、两个参数
5)lambda方法简易版2、去掉大括号,直接写方法
1、概念:
委托可以看成是一个函数的“容器”,将某一具体的函数“装入”后,就可以把它当成函数一样使用。委托变量可看成是一种类型安全的函数指针,它只能接收符合其要求的函数地址。
2、定义方法:delegate关键字。例:
public delegate int MyDele(int a, int b);
3、利用委托调用函数
1)首先定义一个类,里面写几个方法:
class Class1 { public int Jiafa(int a, int b) { return a + b; } public int Jianfa(int a, int b) { return a - b; } }
2)通过委托调用函数:
MyDele m ; //定义一个已有委托类型的变量 m = new Class1().Jiafa; //给上面的变量赋值 Console.WriteLine(m(1,2));//结果为3 m = new Class1().Jianfa; Console.WriteLine(m(1,2));//结果为-1
4、注意:一个委托类型的变量,可以引用任何一个满足其要求的函数。
5、委托的扩展:
1)特殊的委托泛型集合,匿名委托
Func<string, string> myfunc = new Class1().ReturnString;//输入string,输出string Console.WriteLine(myfunc("张三"));
2)直接写方法
Func<string, string> newfunc = delegate(string s) { return s + "world!"; }; Console.WriteLine(newfunc("李四"));
3)lambda方法简易版1、用s=>代替delegate(string s)
Func<string, string> newfunc1 = s=> { return s + "world!"; };
4)lambda方法简易版2、两个参数
Func<string, string,string> newfunc2 = (s1,s2) => { return s1 + "world!"+s2; };
5)lambda方法简易版2、去掉大括号,直接写方法
Func<string, string,string> newfunc3 = (s1, s2) =>s1+"world!"+s2; Console.ReadLine();
相关文章推荐
- 3、面向对象以及winform的简单运用(类的初步认识)
- 1、面向对象以及winform的简单运用(开篇)
- 8、面向对象以及winform的简单运用(事件与winform入门)
- 5、面向对象以及winform的简单运用(方法重载、隐藏、重写与虚方法)
- 4、面向对象以及winform的简单运用(继承与多态、命名空间与类库)
- 6、面向对象以及winform的简单运用(抽象基类与接口)
- 2、面向对象以及winform的简单运用(面向对象的四大基本特性)
- 9、面向对象以及winform的简单运用(输入输出流、图像的上传和读取)
- 10、面向对象以及winform的简单运用(isMdicontainer的设置、timer控件进行倒计时的制作)
- 面向对象以及运用最大最小搜索的井字棋设计(附源码)
- Java面向对象主要知识点总结以及简单项目心得
- 接口、抽象、委托 --------面向对象相关的一些概念
- 简单的面向对象的颜色选择器
- WinForm中的窗体间传值(委托在窗体应用程序的运用)
- 委托与事件参数的简单运用
- Microsoft AJAX Library中的面向对象简单介绍
- 面向对象简单原则(转)
- 面向对象的分析--最简单的知识点总结,给像我一样初学面向对象分析的极客
- 对于类与对象的简单运用(代码)
- 面向对象与动态网页布局的简单思考