unity3d知识点

1.委托任务:

参考:https://blog.csdn.net/fuemocheng/article/details/78062166
unity3d中自带的sendmessage方法是依赖反射机制(reflection),不安全的地方是在团队开发中,他可以调用别的类中的私有方法。
为了避免这种漏洞,可以使用c#中的委托机制来实现观察者模式。

委托的定义:

delegate (void) NewDelegate(参数);
NewDelegate myDelegate; //实例
调用:
myDelegate = print;
myDelegate (1);

方法组转化机制

可以定义不同的委托参数数量 ,面对同名函数时编辑器会根据参数数量自动选择函数。

委托对参数类型的协变性和对返回类型的逆变性

在为委托实例引用方法时,C#允许引用类型的协变性和逆变性。逆变性则是指方法获取的参数的类型可以是委托的参数的类型的基类,换言之逆变性描述的是委托的参数类型协变性是指方法的返回类型可以是从委托的返回类型派生的一个派生类,也就是说协变性描述的是委托返回类型。

多个委托

同一个委托可以记录多个函数,使用+= 和 -=来操作
实际上,+=是重写的Delegate中的Combine方法
-=是重写的Delegate中的Remove方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰子糖莫莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值