Saya menerapkan a DelegateCommand
, dan ketika saya hendak mengimplementasikan konstruktor, saya menemukan dua pilihan desain berikut:
1: Memiliki banyak konstruktor yang kelebihan beban
public DelegateCommand(Action<T> execute) : this(execute, null) { }
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute)
{
this.execute = execute;
this.canExecute = canExecute;
}
2: Hanya memiliki satu konstruktor dengan parameter opsional
public DelegateCommand(Action<T> execute, Func<T, bool> canExecute = null)
{
this.execute = execute;
this.canExecute = canExecute;
}
Saya tidak tahu mana yang harus digunakan karena saya tidak tahu apa keuntungan / kerugian yang mungkin datang dengan salah satu dari dua cara yang diusulkan. Keduanya bisa disebut seperti ini:
var command = new DelegateCommand(this.myExecute);
var command2 = new DelegateCommand(this.myExecute, this.myCanExecute);
Dapatkah seseorang tolong tunjukkan saya ke arah yang benar dan berikan umpan balik?
Bitmap.FromFile
) juga merupakan pilihan