나는 DelegateCommand
을 구현하고 있으며 생성자를 구현하려고 할 때 다음 두 가지 디자인 선택을 생각해 냈습니다.
1 : 여러 개의 오버로드 된 생성자
public DelegateCommand(Action<T> execute) : this(execute, null) { }
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute)
{
this.execute = execute;
this.canExecute = canExecute;
}
2 : 선택적 매개 변수를 가진 생성자가 하나만 있음
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute = null)
{
this.execute = execute;
this.canExecute = canExecute;
}
제안 된 두 가지 방법 중 하나가 어떤 장점과 단점을 가지고 있는지 알지 못하기 때문에 어느 것을 사용 해야할지 모르겠습니다 . 둘 다 다음과 같이 호출 할 수 있습니다.
var command = new DelegateCommand(this.myExecute);
var command2 = new DelegateCommand(this.myExecute, this.myCanExecute);
누군가 올바른 방향으로 나를 가리키고 피드백을 줄 수 있습니까?
Bitmap.FromFile
)도 옵션입니다