AddListener(action)
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)相关推荐
- Cocos Creator 的 动作(Action)系统:moveBy的使用
Cocos Creator 快速上手:制作第一个游戏 可以在这里感受一下这款游戏的完成形态: http://fbdemos.leanapp.cn/star-catcher/ 准备项目和资源 我们已经为 ...
- Cocos2d-动作(Action)详解
基础原理 动作类(Action)是所有动作的基类,创建的对象代表一个动作.动作作用于Node,因此每个动作都需要由Node对象执行.动作类,作为基类,实际上是一个接口,它的大多数的实现类都是派生于有限 ...
- JSP基础语法-动作(Action)
JSP基础语法 3.6.动作(Action) 动作的语法格式: <jsp:动作名称 属性名=属性值.... ></jsp:动作名称> 3.6.1.forwa ...
- 表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)...
转自:http://www.blogjava.net/jiabao/archive/2007/04/08/109189.html 为了实现web层(struts)和持久层(Hibernate)之间的松 ...
- 关于struts2如何去掉默认的后缀(.action)
struts2是可以配置默认的后缀名的,如http://localhost:8080/test.action,这个是默认的,但是也可以通过配置去修改这个.action为别的. 这里是通过一个常量配置改 ...
- php文件里搜索关键字,php - PHP从文本文件中搜索关键字(Action'),使用该关键字打印所有行,然后计算打印的行数 - SO中文参考 - www.soinside.com...
所以我刚开始学习PHP,我想从文本文件中搜索某个关键字(Action'),然后用关键字打印所有行,然后计算所有打印的行. 这是我到目前为止所拥有的: $searchfor = 'ERR:'; echo ...
- 业务层 java_表现层(jsp)、持久层(类似dao)、业务层(逻辑层、service层)、模型(javabean)、控制层(action)...
为了实现web层(struts)和持久层(Hibernate)之间的松散耦合,我们采用业务代表(Business Delegate)和DAO(Data Access Object)两种模式.DAO模式 ...
- RDD的两种操作(Transformation和Action)
RDD创建后就可以在RDD上进行数据处理.RDD支持两种操作:转换(transformation),即从现有的数据集创建一个新的数据集:动作(action),即在数据集上进行计算后,返回一个值给Dri ...
- ROS2初级知识(6):Action服务概念
一.背景 Action是 ROS 2 中的一种通信类型,适用于长时间运行的任务.它们由三个部分组成:目标.反馈和结果. 操作建立在主题和服务之上.它们的功能类似于服务,除了可以取消操作.它们还提供稳定 ...
最新文章
- (转载)星期几问题——蔡勒公式
- Repeater鼠标经过变色
- OpenGL 期末考试作业
- Hive体系结构(四)注意事项与扩展特性
- Kubernetes三周年,这仅仅是伟大征途的开始
- EasyUI+JSP之java读取数据库后JSON格式数据的返回及调用
- C#学习笔记——类的继承
- AutoLearnSkills.lua --升级自动学习技能
- 计算机科学导论填空题,计算机科学导论习题
- 手机WAPI功能检测常见问题分析(系列连载一):证书安装
- DXP PCB板的形状的改变
- matlab 巴特沃斯滤波器频率响应,巴特沃斯滤波器matlab实现
- FX3 DMA生产者消费者ID代表的含义
- MemSQL初体验 - 性能测试
- 中国洗衣胶囊行业市场供需与战略研究报告
- Navicat连接mysql时提示error:1130 hostxxx is not allowed to connect to this SQL server
- glsl函数之向量函数
- 1+X云计算平台运维与开发认证(初级)样卷D
- vue2.0聊天室vue-chatRoom|仿微信界面vue+vuex+vueRouter
- ERP-SAP服务器集群架构技术沿革