2009-09-02 29 views
27
delegate void DelegateTest(); 

DelegateTest delTest; 

क्या delTest.Invoke() और delTest() बुला क्या अंतर है? दोनों मौजूदा धागे पर प्रतिनिधि को निष्पादित करेंगे, है ना?अंतर()

उत्तर

33

delTest() फॉर्म एक कंपाइलर सहायक है, इसके नीचे यह वास्तव में Invoke() पर कॉल है।

+1

रिचर्ड, मुझे लगभग अपना वोट लेना पड़ा क्योंकि आपने अपनी प्रोफ़ाइल में "रोटरुआ" गलत वर्तनी की थी;) –

+0

@ रोब: ओह, टाइपो, अब तय किया गया है। – Richard

+1

@ रिचर्ड: आंतरिक रूप से क्या करता है()। यह Invoke विधि वास्तव में कहां रहता है। मुझे प्रतिनिधिमंडल के मेटाडेटा फ़ाइल के साथ-साथ मल्टीकास्टडिलेगेट में नहीं मिला। – Novice

3

यह सही है। दोनों के पास एक ही परिणाम है।

यह देखते हुए कि आपने उचित रूप से delTest प्रारंभ किया है।

+0

यदि 'delTest'' null' है, तो दोनों सिंटैक्स फिर से एक ही परिणाम का कारण बनते हैं (जो उस स्थिति में है, जहां 'आमंत्रण का प्रयास किया जाता है, उस रेखा से' NullReferenceException' फेंक दिया जाता है)। –