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