Wdrażam a DelegateCommand
, kiedy miałem zaimplementować konstruktora (-ów), zaproponowałem dwie następujące opcje projektu:
1: Posiadanie wielu przeciążonych konstruktorów
public DelegateCommand(Action<T> execute) : this(execute, null) { }
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute)
{
this.execute = execute;
this.canExecute = canExecute;
}
2: Posiadanie tylko jednego konstruktora z opcjonalnym parametrem
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute = null)
{
this.execute = execute;
this.canExecute = canExecute;
}
Nie wiem, którego użyć, ponieważ nie wiem, jakie potencjalne zalety / wady wiążą się z jednym z dwóch proponowanych sposobów. Oba można nazwać tak:
var command = new DelegateCommand(this.myExecute);
var command2 = new DelegateCommand(this.myExecute, this.myCanExecute);
Czy ktoś może skierować mnie we właściwym kierunku i wyrazić opinię?
Bitmap.FromFile
) są również opcją