(参数列表)=>{需要做什么}
委托使用Lambda表达式
无返回值
public delegate void Delegate();
Delegate myDelegate;
myDelegate=()=>{Debug.Log("Hello");};
myDelegate+=()=>{Debug.Log("Word!")};
Action action;
action=()=>{Debug.Log("Hello");};
action+=()=>{Debug.Log("Word!")};
有返回值
public delegate int Delegate(int num1,int num2);
Delegate myDelegate;
myDelegate=(int num1,int num2)=>{return num1+num2;};
myDelegate+=(int num1,int num2)=>{return num1*num2;};
Func func;
func=(int num1,int num2)=>{return num1+num2;};
func+=(int num1,int num2)=>{return num1*num2;};
作为参数
public delegate int Delegate(int num1,int num2);
void myFun(Delegate myDelegate){
Debug.log(myDelegate(1024,2048));
}
void Start(){
myFun((int num1,int num2)=>{return num2/num1;});
}