委托(delegate)小坑

1 篇文章 0 订阅

C#:
1. 委托方法包括(静态方法、实例方法和匿名方法)
2. 委托会引用委托方法所属实例(静态方法除外),因此注册委托应该及时注销以免内存泄露
3. 匿名委托会捕获需要使用的环境变量并创建闭包(普通委托貌似也会?),以保证被捕获变量的生命周期不短于委托
4. 匿名委托无法注销,因此更适合一次性使用

Unity:
1. Destroy(委托所依赖的实例)后并没有影响委托调用(Target==null&&Method!=null),一脸懵逼
2. Destroy方法会直接清理内存,因此在MonoBehaviour类中注册委托应该在Destroy以前注销,以免空指针异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值