目录
1.public delegate void Handler();
2.public delegate int Handler(int a);
3.public delegate int Handler(int a,int b);
4.public int Handler(Person p);//从一个对象中得到int类型的属性,如id属性
本篇文章来进一步学习一下C#的委托,主要来详细学习一下实例化委托的4中方法。
1.重点知识回顾
在【一文了解】C#重点-委托1中已经学习了委托的定义、委托的3个基本使用步骤、单播委托和多播委托等,先来回顾一下重点:
1.1委托的定义
委托是一种数据类型(关键字delegate);委托代表的是方法;当调用委托时就是调用了这个方法。
1.2委托的3个基本使用步骤
1)定义委托
在定义端定义委托,定义格式为delegate 返回类型 委托类型名(形参列表);
delegate void Handler();
2)创建实例
在调用端创建实例,即实例化委托,为委托指定/绑定方法
delegate void Handler();
3)调用委托
在调用端调用委托,调用委托和调方法相似,有参数就要写参数,有返回值就可以返回
handler();
1.3单播委托与多播委托
委托有返回值不适合多播执行,委托无返回值适合多播执行。
接下来重点学习实例化委托的写法。
实例化委托的4种方法
方法1、2
基本传统标准的写法,适合于委托已有的方法
Handler handler = new Handler(Fun);
Handler handler = Fun; //简化的写法:等号右边表示的是委托对象
方法3:匿名方法
适合于功能简单,少量代码可以完成的方法,且该功能不需要在其它地方复用
Handler handler = delegate(int a) //等号右边表示的是委