मैं एक कार्यान्वित कर रहा हूं 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
) भी एक विकल्प हैं