真Unity3d_加C#语法之(一)点击事件监听和delegate委托Action的区别

有区别吗?你老板说有就有吧

以前很久很久以前,也很讨厌一个之字有四个写法

受鲁迅影响,觉得很多余,但时移世易,

人老了,本来不喜欢的东西反而觉得真香

一、一般的监听事件可以这么写

_dropdown.onValueChanged.AddListener(DoValueChanged);

void OnValueChanged(int index)
{

}

二、网上的一个方法

mainInputField.onValueChange.AddListener (delegate {ValueChangeCheck ();});

三、其实应该这么写

public Action<int> DoValueChanged;
_dropdown.onValueChanged.AddListener(delegate (int i){ DoValueChanged(i); });

四、基于网上的方法,理论上也应该这么写

上面第二个方法其实不错,但明显停留在“能用”就好了

但怎么能再上一层楼,”能用好“才是真的好

//伪代码,请自行补充
var dropDownList;
mainInputField.onValueChange.AddListener (delegate {
    ValueChangeCheck (dropDownList.currOption);
});

五、实际工作中,最最常用的点击方法

原理:在外面套一层壳

EventTriggerListener.Get(btn).onClick += OnButtonClick;

 

其实上面都一样的。。。。。。不过我最终选择了方法三;五也经常用

应该能扩展,也能解决类与类之间的通讯问题

什么是委托?有空再说说

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

avi9111

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

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

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

打赏作者

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

抵扣说明:

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

余额充值