आंतरिक ऑब्जेक्ट इंस्टेंस से घटनाओं को निर्देशित करना संभव है कि इस तरह के वाक्यविन्यास के साथ कोरेंट ऑब्जेक्ट के ईवेंट हैंडलर:क्या सी # में इवेंट हैंडलर को "चेन" करना संभव है?
public class MyControl {
public event EventHandler Finish;
private Wizard wizard;
public MyControl(Wizard wizard) {
this.wizard = wizard;
// some other initialization going on here...
// THIS is what I want to do to chain events
this.wizard.Finish += Finish;
}
}
उपर्युक्त संरचना के लिए प्रेरणा यह है कि मेरे पास कई विज़ार्ड-जैसे यूआई प्रवाह हैं और अलग करना चाहते हैं पीछे, आगे & मेरे डिज़ाइन में खुले बंद सिद्धांत और एकल जिम्मेदारी सिद्धांत का सम्मान करने के लिए एक वर्ग में हैंडलिंग रद्द करें।
एक विधि जोड़ना ऑनफिनिश और सामान्य जांच करना हमेशा संभव होता है लेकिन अगर घोंसले की घटनाओं के बहुत सारे होते हैं, तो यह बहुत सारे बॉयलरप्लेट कोड के साथ खत्म हो जाएगा।
धन्यवाद, दूसरे विकल्प के पीछे तर्क इस तरह से सिस्टम को लागू करने के लिए पर्याप्त है। और पहले विकल्प के लिए भी धन्यवाद क्योंकि मुझे एहसास नहीं हुआ कि अतिरिक्त अधिभार जोड़ने के लिए एक वाक्यविन्यास था। – plouh
जिज्ञासा से, आप शून्य के परीक्षण और समापन के लिए परीक्षण करने से पहले हैंडलर को फिनिश क्यों सौंपते हैं? – dckrooney
@dcrooney: इसके बजाय हैंडलर को बुलाया जाना चाहिए था। संपादित करेंगे –