2008-09-23 11 views
6

इसके बीच क्या अंतर है:प्रतिनिधि हैंडलर और उन लोगों के साथ घटनाओं के बीच क्या अंतर है?

this.btnOk.Click += new System.EventHandler(this.btnOK_Click); 

और यह?

this.btnOk.Click += this.btnOK_Click; 

वे दोनों काम करते हैं। जब आप स्निपेट का उपयोग करते हैं तो विजुअल स्टूडियो डिफ़ॉल्ट होता है। लेकिन ऐसा लगता है कि यह केवल अतिरिक्त शब्दकोष है, या क्या मुझे कुछ याद आ रही है?

+0

[सी # इवेंट हैंडलर] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/26877/c-sharp-event-handlers) – nawfal

उत्तर

10

कोई फर्क नहीं पड़ता। प्रतिनिधि तत्काल को छोड़ना सिर्फ सिंटैक्स कैंडी है; सी # कंपाइलर हुड के तहत आपके लिए प्रतिनिधि तत्काल उत्पन्न करेगा।

1

मुझे विश्वास है कि 3.0 से सी # ने स्पष्ट रूप से प्रतिनिधि हैंडलर को जोड़ा है। हालांकि, यह अधिक स्पष्ट होने में मदद कर सकता है, खासकर जब कई संभावित प्रतिनिधि प्रकार होते हैं।

1

"+ = Delegate_Name" एक वाक्यविन्यास चीनी है। कंपाइलर आपके लिए नया रैपर बनाएगा।

4

सी # 3.0 में और बाद में यह कोई फर्क नहीं पड़ता। संकलक सीमाओं के कारण सी # 3.0 इवेंट हैंडलर की आवश्यकता थी, लेकिन सी # 3.0 के आगमन के साथ, दूसरा फॉर्म तब तक प्राथमिकता दी जाती है जब तक आप बहुत स्पष्ट नहीं होना चाहते।

संबंधित मुद्दे