我不知道 Josh Smith 和 Laurent Bugnion 的 RelayCommand 实现之间是否有区别,但是我看过的任何地方,听起来 RelayCommand 的 Execute 部分可以采用 0 或 1 个参数。我只能让它与 0 一起工作。当我尝试类似的东西时:
public class Test
{
public RelayCommand MyCommand { get; set; }
public Test()
{
MyCommand = new RelayCommand((param) => SomeFunc(param));
}
private void SomeFunc( object param)
{
}
}
我得到错误:Delegate 'System.Action' does not take '1' arguments
。只是为了确保我没有发疯,我查看了 RelayCommand 的定义,以确保我的解决方案中没有某些流氓实现,但可以肯定的是,它只是 Action,而不是 Action<>。
我到底在这里想念什么?