一直以为委托很难,可能是自己太菜,觉得很不好理解。
直到我今天需要将方法作为一个参数传递,我才有兴趣去看委托怎么用。
先说定义:
委托是用户自定义的类,它定义了方法的类型。
储存的是一系列具有相同参数和返回类型方法的地址列表,调用委托时,此委托列表的所有方法都将被执行。
我理解的很直白的说,委托就是一个中间变量!
没错,就是一个中间变量!就像我们常用的temp作为int或者float的中间变量一样。
定义:
public delegate void MyDelegate();
声明委托,同时赋值,调用:
//声明委托 同时赋值
MyDelegate del;
void Start()
{
del=Fun1;
Fun2(del);
}
void Fun1()
{
print(“使用委托的Fun1”);
}
void Fun2(MyDelegate _del)
{
_del();
}
结果: