57.有两个参数的Command C#例子 WPF例子

SaveCommand = new RelayCommand(param => SaveUser((ViewModel)param), param => true);

两个Param都是object类型

两个 param 都是 object 类型。

第一个 param 被传递的同时,并用于 SaveUser 方法。

第二个 param 在这个特定的例子中没有被实际使用,只是作为 CanExecute 方法的一个形式参数,而 lambda 表达式总是返回 true

  1. 第一个 param(在 Action lambda 表达式中):
    • 这个 param 是当 SaveCommand 被执行时传递给 Execute 方法的参数。
    • 在这个 lambda 表达式中,param 被强制转换为 ViewModel 类型,并传递给 SaveUser 方法。
    • 它的类型是 object,因为 Action 和 RelayCommand 的 Execute 方法都接受一个 object 类型的参数。
    • 第二个 param(在 Func lambda 表达式中):
      • 这个 param 也是传递给 CanExecute 方法的参数,但在这个例子中,它的值并没有被使用。
      • lambda 表达式简单地返回 true,意味着 SaveCommand 总是可执行的。
      • 和第一个 param 一样,它的类型也是 object,因为 Func 接受一个 object 类型的参数并返回一个布尔值。
    • Lambda表达式:在编程中,Lambda表达式通常用于定义匿名函数,即没有具体名称的函数。

      你可能感兴趣的:(c#,wpf,ui)