UnityAction<T>(将方法作为参数传递), Lambda 表达式定义匿名函数,

1.UnityAction<string> onValueChanged 是一个委托类型的参数,用来接收一个方法,并且这个方法必须接受一个 string 类型的参数并且没有返回值。在这个方法中,该参数用于接收一个回调函数,这个回调函数的功能是在增加或减少数值后执行一些操作,例如更新其他UI元素或执行其他逻辑。

public GameObject AddStepperWidget(string name, float min, float max, float step,
    float defaultValue, UnityAction<string> onValueChanged)
{......}

UnityAction<T> 是 Unity 引擎中的委托类型,它允许你将方法作为参数传递,并且可以定义参数类型。在这种情况下,UnityAction<string> 表示接受一个 string 类型的参数的方法。

2.Lambda 表达式定义匿名函数或委托

 btn_add.onClick.AddListener(() =>
 {
     var now = GetStepperValue(effect);
     var next = Mathf.Clamp(float.Parse(now) + step, min, max);
     effect.GetComponentsInChildren<Text>()[1].text = next.ToString();
     onValueChanged(next.ToString());
 });

这种写法使用了 Lambda 表达式,它是一种简洁的写法,用于定义匿名函数或委托。

Lambda 表达式通常用于在需要传递函数作为参数的地方,以提供更简洁的语法。

在这个例子中,btn_add.onClick.AddListener() 方法需要传递一个委托作为参数,用于监听按钮点击事件。

Lambda 表达式 () => { ... } 定义了一个匿名函数,这个函数包含了按钮点击时要执行的代码块。这样就避免了显式地定义一个具名方法,而是直接将方法的内容放在了 AddListener() 方法的括号内。

Lambda 表达式的形式是 () => { ... },其中 () 用于传递参数(如果有的话),=> 表示“变成”,后面的 { ... } 是匿名函数体,包含了要执行的代码。

btn_add.onClick.AddListener 中,Lambda 表达式内的 onValueChanged(next.ToString()) 是一个方法调用。这里将 next.ToString() 作为参数传递给 onValueChanged 方法。

通常情况下,onValueChanged 方法用于在 UI 元素的值发生变化时触发某些操作。在这个 Lambda 表达式中,它的作用是在点击 “增加” 按钮后,将新的数值传递给一个回调函数,以便在数值发生改变时执行一些特定的操作。

onValueChanged 是一个委托类型的参数,在传递给 AddStepperWidget 方法时,它的类型是 UnityAction<string>,表示它是一个接受一个 string 类型参数的委托。

因此,Lambda 表达式中的 onValueChanged(next.ToString()) 实际上是调用了这个委托,并将 next.ToString() 作为参数传递给了这个委托。

相关推荐

  1. 函数作为参数传递匿名函数(lambda)

    2024-03-30 09:02:03       24 阅读
  2. 【C++】C++ 中 的 lambda 表达式匿名函数

    2024-03-30 09:02:03       10 阅读
  3. Python——lambda匿名函数

    2024-03-30 09:02:03       40 阅读
  4. 匿名函数lambda

    2024-03-30 09:02:03       14 阅读
  5. 【Python基础】Lambda匿名函数

    2024-03-30 09:02:03       15 阅读
  6. C++之lambda匿名函数

    2024-03-30 09:02:03       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-30 09:02:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-30 09:02:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-30 09:02:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-30 09:02:03       18 阅读

热门阅读

  1. 汽车VBF格式文件详解---使用python解析VBF文件

    2024-03-30 09:02:03       16 阅读
  2. pandas中mode() 函数的应用

    2024-03-30 09:02:03       17 阅读
  3. rust - 使用文件锁防止应用多开

    2024-03-30 09:02:03       23 阅读
  4. Android 使用SQLite保存数据

    2024-03-30 09:02:03       18 阅读
  5. #设计模式#3.1 抽象工厂

    2024-03-30 09:02:03       15 阅读
  6. Dubbo消费者配置

    2024-03-30 09:02:03       16 阅读
  7. Vue 表单数据双向绑定 v-mode

    2024-03-30 09:02:03       18 阅读
  8. Vue自定义组件中使用CSS变量设置样式?

    2024-03-30 09:02:03       18 阅读
  9. PageHelper的使用

    2024-03-30 09:02:03       16 阅读