AddListener(action)

这里的两种写法有区别么?

肯定是有的

我之前也是不清楚这里传入的action到底是什么

但是btnA的num是初始值10 不会改变

而btnB的num确实随着num的改变而改变

这时 我就想到 A是只new一次对象 B是每次点击都会new一个新的

经过实验后发现确实如我所想[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICeP3rXE-1666631096782)

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;/// <summary>
/// * Function:
/// </summary>
public class NewBehaviourScript : MonoBehaviour
{public Button btnA;public Button btnB;public int num = 10;private static int count = 0;private void Awake(){Test test = new Test(num);btnA.onClick.AddListener( test.Do);btnB.onClick.AddListener(() => { new Test(num).Do(); });}public class Test{ private int num;public Test(int num){this.num = num;count += 1;}public void Do(){Debug.Log(this.num);Debug.Log("count:"+count );}}}

这里我给每次创建新class计数 发现 A确实只创建一次

发现其实A 的action是 Test.Do() 这个函数

而B的action 是{ }中的lambda

修改代码确定猜想

结果可以发现确实如此

AddListener(action)相关推荐

  1. Cocos Creator 的 动作(Action)系统:moveBy的使用

    Cocos Creator 快速上手:制作第一个游戏 可以在这里感受一下这款游戏的完成形态: http://fbdemos.leanapp.cn/star-catcher/ 准备项目和资源 我们已经为 ...

  2. Cocos2d-动作(Action)详解

    基础原理 动作类(Action)是所有动作的基类,创建的对象代表一个动作.动作作用于Node,因此每个动作都需要由Node对象执行.动作类,作为基类,实际上是一个接口,它的大多数的实现类都是派生于有限 ...

  3. JSP基础语法-动作(Action)

    JSP基础语法 3.6.动作(Action)       动作的语法格式:    <jsp:动作名称  属性名=属性值.... ></jsp:动作名称> 3.6.1.forwa ...

  4. 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)...

    转自:http://www.blogjava.net/jiabao/archive/2007/04/08/109189.html 为了实现web层(struts)和持久层(Hibernate)之间的松 ...

  5. 关于struts2如何去掉默认的后缀(.action)

    struts2是可以配置默认的后缀名的,如http://localhost:8080/test.action,这个是默认的,但是也可以通过配置去修改这个.action为别的. 这里是通过一个常量配置改 ...

  6. php文件里搜索关键字,php - PHP从文本文件中搜索关键字(Action'),使用该关键字打印所有行,然后计算打印的行数 - SO中文参考 - www.soinside.com...

    所以我刚开始学习PHP,我想从文本文件中搜索某个关键字(Action'),然后用关键字打印所有行,然后计算所有打印的行. 这是我到目前为止所拥有的: $searchfor = 'ERR:'; echo ...

  7. 业务层 java_表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)...

    为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式.DAO模式 ...

  8. RDD的两种操作(Transformation和Action)

    RDD创建后就可以在RDD上进行数据处理.RDD支持两种操作:转换(transformation),即从现有的数据集创建一个新的数据集:动作(action),即在数据集上进行计算后,返回一个值给Dri ...

  9. ROS2初级知识(6):Action服务概念

    一.背景 Action是 ROS 2 中的一种通信类型,适用于长时间运行的任务.它们由三个部分组成:目标.反馈和结果. 操作建立在主题和服务之上.它们的功能类似于服务,除了可以取消操作.它们还提供稳定 ...

最新文章

  1. (转载)星期几问题——蔡勒公式
  2. Repeater鼠标经过变色
  3. OpenGL 期末考试作业
  4. Hive体系结构(四)注意事项与扩展特性
  5. Kubernetes三周年,这仅仅是伟大征途的开始
  6. EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用
  7. C#学习笔记——类的继承
  8. AutoLearnSkills.lua --升级自动学习技能
  9. 计算机科学导论填空题,计算机科学导论习题
  10. 手机WAPI功能检测常见问题分析(系列连载一):证书安装
  11. DXP PCB板的形状的改变
  12. matlab 巴特沃斯滤波器频率响应,巴特沃斯滤波器matlab实现
  13. FX3 DMA生产者消费者ID代表的含义
  14. MemSQL初体验 - 性能测试
  15. 中国洗衣胶囊行业市场供需与战略研究报告
  16. Navicat连接mysql时提示error:1130 hostxxx is not allowed to connect to this SQL server
  17. glsl函数之向量函数
  18. 1+X云计算平台运维与开发认证(初级)样卷D
  19. vue2.0聊天室vue-chatRoom|仿微信界面vue+vuex+vueRouter
  20. ERP-SAP服务器集群架构技术沿革

热门文章

  1. qmail Vpopmail And sqwebmail HOWTO
  2. Linux内核版本号的含义
  3. C++中的typeid关键字
  4. su - oracle和su oracle 的区别
  5. ImportError: `load_weights` requires h5py when loading weights from HDF5.错误
  6. 高通Camera数字成像系统简介
  7. Ae 效果快速参考:颜色校正
  8. 5-2 学习打卡(11.7)
  9. gensim实战01——word2vec
  10. 【最优化】最优化的相关条件