インターフェイスを実装するICommand
と、次のメソッドが作成されます
#region ICommand Members
public bool CanExecute(object parameter)
{
}
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
}
#endregion
興味深い部分は
public void Execute(object parameter)
{
}
1つのパラメーターが必要であることを示しているからです。パラメータを渡す必要がない場合はどうなりますか?私のViewModelには次のコードがあります
public class DownloadViewModel : BaseViewModel
{
public ICommand BrowseForFile { get; set; }
public string File { get; set; }
public DownloadViewModel()
{
BrowseForFile = new RelayCommand(new Action<object>(OpenDialog));
}
private void OpenDialog(object o)
{
var dialog = new System.Windows.Forms.FolderBrowserDialog();
System.Windows.Forms.DialogResult result = dialog.ShowDialog();
File = dialog.SelectedPath;
}
}
このOpenDialog
メソッドはパラメーターを必要としませんが、インターフェイスを満たすために必要なように見えます。
私はこれを正しく行っていますか、それとも要点を見逃しましたか?