JoshSmithとLaurentBugnionの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<>ではありませんでした。
一体何がここに欠けているのですか?