Delegate委托是一种特殊的类,它的功能相当于保存方法的指针,将委托类实例化即可实现方法参数化,进而用于事件和回调方法等。
Event事件可以被看作一个委托类型的变量,通过委托的多播实现事件派发。
Delegate使用方法:
public delegate 【返回类型】 DoActionDelegate(【参数】);
实例化:
DoActionDelegate doAct = DoActionDelegate(【方法名】)
执行目标方法
doAct(【参数】)
实例:
public delegate void DoActionDelegate();
class Soldier
{
public void patrol()
{
Console.WriteLine("巡逻");
}
public void follow()
{
Console.WriteLine("跟随");
}
public void playAct()
{
DoActionDelegate act = new DoActionDelegate(patrol);
act();//输出结果"巡逻"
}
}
class Program
{
static void Main(string[] args)
{
Soldier