博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
「Unity」委托 将方法作为参数传递
阅读量:5225 次
发布时间:2019-06-14

本文共 770 字,大约阅读时间需要 2 分钟。

在Unity中经常会向函数传参,如:

void Start(){    Print("Xxx");}void Print(string name){    base.print(name);}

这是一种传递普通参数的方式,无论想输出什么,只要告诉Print()函数,对方就会帮忙输出。

那么问题来了,有没有一种方式可以:无论想调用什么方法,只要告诉某函数(传参),对方就会帮忙调用呢?

有的,这种方式叫做“委托”。

具体Demo代码:

class X{    //定义委托,括号里参数个数与需要委托执行的函数一致    delegate void Helper();    //输出A    void A()    {        print("A");    }    //输出B    void B()    {        print("B");    }    //调用函数    void Do(Helper h)    {        h();    }    void Start()    {        //声明一个委托        Helper helper;        //为这个委托赋值,右边写的是需要委托的函数名        helper = A;        //把传递给其他函数,这个函数会帮忙调用我们委托的函数        Do(helper);        //同上        helper = B;        Do(helper);    }}

以上是简单的实现方式。

与委托伴随的是事件和Observer模式,以及.NET下的规范写法

请见

 

原创文章,转载请注明出

 

转载于:https://www.cnblogs.com/777777-716/p/5003957.html

你可能感兴趣的文章
IOS Google语音识别更新啦!!!
查看>>
[置顶] Linux终端中使用上一命令减少键盘输入
查看>>
BootScrap
查看>>
路冉的JavaScript学习笔记-2015年1月23日
查看>>
Mysql出现(10061)错误提示的暴力解决办法
查看>>
2018-2019-2 网络对抗技术 20165202 Exp3 免杀原理与实践
查看>>
NPM慢怎么办 - nrm切换资源镜像
查看>>
Swift - UIView的常用属性和常用方法总结
查看>>
Swift - 异步加载各网站的favicon图标,并在单元格中显示
查看>>
【Python学习笔记】1.基础知识
查看>>
梦断代码阅读笔记02
查看>>
selenium学习中遇到的问题
查看>>
大数据学习之一——了解简单概念
查看>>
Linux升级内核教程(CentOS7)
查看>>
Lintcode: Partition Array
查看>>
类别的三个作用
查看>>
Maximum Product Subarray
查看>>
[转载] MySQL的四种事务隔离级别
查看>>
QT文件读写
查看>>
C语言小项目-火车票订票系统
查看>>