Tôi đang triển khai DelegateCommand
và khi tôi sắp triển khai (các) nhà xây dựng, tôi đã đưa ra hai lựa chọn thiết kế sau:
1: Có nhiều nhà xây dựng quá tải
public DelegateCommand(Action<T> execute) : this(execute, null) { }
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute)
{
this.execute = execute;
this.canExecute = canExecute;
}
2: Chỉ có một hàm tạo với tham số tùy chọn
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute = null)
{
this.execute = execute;
this.canExecute = canExecute;
}
Tôi không biết nên sử dụng cái nào vì tôi không biết những lợi thế / bất lợi có thể xảy ra với một trong hai cách được đề xuất. Cả hai có thể được gọi như thế này:
var command = new DelegateCommand(this.myExecute);
var command2 = new DelegateCommand(this.myExecute, this.myCanExecute);
Ai đó có thể vui lòng chỉ cho tôi đi đúng hướng và đưa ra phản hồi?
Bitmap.FromFile
) cũng là một lựa chọn