इस पोस्ट में, हम C# में डेलीगेट्स और इवेंट्स के बीच के अंतर को समझेंगे।
प्रतिनिधि
-
इसे 'प्रतिनिधि' कीवर्ड का उपयोग करके घोषित किया जा सकता है।
-
यह एक फंक्शन पॉइंटर है।
-
यह रनटाइम के दौरान एक या अधिक विधियों का संदर्भ रखता है।
-
यह एक स्वतंत्र कीवर्ड है।
-
यह घटनाओं पर निर्भर नहीं करता है।
-
इसमें कंबाइन () और निकालें () विधियां शामिल हैं जो आमंत्रण की सूची में विधियों को जोड़ने में मदद करती हैं।
-
इसे एक विधि के पैरामीटर के रूप में पारित किया जा सकता है।
-
'=' ऑपरेटर का उपयोग एकल विधि निर्दिष्ट करने के लिए किया जा सकता है।
-
'+=' ऑपरेटर का इस्तेमाल प्रतिनिधि को कई तरीके असाइन करने के लिए किया जा सकता है।
ईवेंट
-
इसे 'ईवेंट' कीवर्ड का उपयोग करके घोषित किया जा सकता है।
-
इसे अधिसूचना तंत्र के रूप में परिभाषित किया जा सकता है जो प्रतिनिधियों पर निर्भर करता है।
-
यह प्रतिनिधि पर निर्भर करता है।
-
इसे प्रतिनिधियों के बिना नहीं बनाया जा सकता।
-
इसे प्रतिनिधि उदाहरण के चारों ओर एक आवरण के रूप में समझा जा सकता है।
-
यह प्रतिनिधि के उपयोगकर्ताओं को प्रतिनिधि और उसके आह्वान की सूची को रीसेट करने से रोकने में मदद करता है।
-
यह केवल आह्वान की सूची से लक्ष्य जोड़ने या हटाने की अनुमति देता है।
-
'EventInfo' क्लास इवेंट की जांच करती है और इवेंट हैंडलर को बाइंड करने में मदद करती है।
-
इन हैंडल में AddEventHandler() और RemoveEventHandler() जैसी विधियां शामिल हैं, जो क्रमशः आमंत्रण की सूची में विधियों को जोड़ने और हटाने में सहायता करती हैं।
-
एक घटना को उठाया जा सकता है, लेकिन एक विधि के पैरामीटर के रूप में पारित नहीं किया जा सकता है।
-
घटनाओं के साथ '=' ऑपरेटर का उपयोग नहीं किया जा सकता।
-
'+=' और '-=' ऑपरेटरों का उपयोग उस ईवेंट के साथ किया जा सकता है जो क्रमशः ईवेंट हैंडलर जोड़ता या हटाता है।
-
ये विधियाँ AddEventHandler औरRemoveEventHandler जैसी विधियों को आंतरिक रूप से कॉल करेंगी।