委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法)。通俗的说,委托是一个可以引用方法的对象,当创建一个委托,也就创建一个引用方法的对象,进而就可以调用那个方法,即委托可以调用它所指的方法。
1、定义委托类型 [访问修饰符]delegate 返回类型 委托名(形参); 2、声明委托对象 委托名 委托实例名; 3、创建委托对象(确定与哪些方法进行绑定) 委托实例名=new 委托名(某个类的方法) 4、使用委托调用方法 委托实例名(实参)
1、委托和方法必须具有相同的参数。 2、委托可以调用多个方法,即一个委托对象可以维护一个可调用方法的列表而不是单独的一个方法,称为多路广播(多播)。 3、使用+=和-=运算实现方法的增加和减少
using System; // 调用委托实例,先执行objMath.Multiply,然后执行objMath.Divide 写法: 1、委托 委托名=new 委托(会调用的方法名); 委托名(参数); 2、委托 委托名 =会调用的方法名; 委托名(参数); 3、匿名方法 委托 委托名=delegate(参数){会调用的方法体};委托名(参数); 4、拉姆达表达式 委托 委托名=((参数1,。。参数n)=>{会调用的方法体});委托名(参数); 5、用Action<T>和Func<T>,第一个无返回值 Func<参数1, 参数2, 返回值> 委托名= ((参数1,参数2) => {带返回值的方法体 });返回值=委托名(参数1,参数2); 贴代码:
|
|
来自: 雪柳花明 > 《LOL Unity3D游戏》