Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में इवेंट्स बनाम डेलीगेट्स: अंतर और उपयोग


डेलीगेट्स और इवेंट्स C# में कॉलबैक और इवेंट-ड्रिवन प्रोग्रामिंग के आधार हैं। इवेंट्स डेलीगेट्स के ऊपर एक रैपर हैं जो एनकैप्सुलेशन प्रदान करते हैं।

डेलीगेट्स (Delegates)

  • मेथड के लिए टाइप-सेफ फंक्शन पॉइंटर।
  • रनटाइम पर मेथड रेफरेंस बदल सकते हैं।
  • सीधे असाइन/आह्वान योग्य: del = Method; del();
  • समस्या: बाहरी कोड डेलीगेट को ओवरराइड/क्लियर कर सकता है (del = null)।
public delegate void Demo(string val);

इवेंट्स (Events)

  • डेलीगेट पर आधारित, लेकिन केवल += और -= की अनुमति देते हैं।
  • बाहरी कोड इवेंट को सीधे असाइन या क्लियर नहीं कर सकता।
  • पब्लिशर-सब्सक्राइबर पैटर्न लागू करता है।
  • कीवर्ड: event।
public delegate void Demo(string val);
public event Demo TestEvent;

// सब्सक्राइब
this.TestEvent += new Demo(DemoData);

// पब्लिश (केवल क्लास के अंदर)
TestEvent?.Invoke("Hello");

तुलना तालिका

विशेषताडेलीगेटइवेंट
सीधा असाइनमेंट✅ अनुमत❌ प्रतिबंधित
नल असाइनमेंट✅ संभव❌ असंभव
आह्वान (Invoke)कहीं से भीकेवल घोषक क्लास में
उद्देश्यजनरल कॉलबैकइवेंट नोटिफिकेशन

सर्वोत्तम प्रथा

  • पब्लिक एक्सपोज़र के लिए हमेशा event उपयोग करें।
  • इवेंट हैंडलर सिग्नेचर: void Handler(object sender, EventArgs e)।
  • EventHandler<TEventArgs> जेनेरिक डेलीगेट उपयोग करें।
  1. जावास्क्रिप्ट में फोकस इवेंट्स समझाया गया जावास्क्रिप्ट में फोकस इवेंट्स समझाया गया

    फोकस इवेंट तब फायर होता है जब कोई एलिमेंट फोकस प्राप्त करता है या खो देता है। निम्नलिखित फोकस इवेंट्स हैं: इवेंटविवरण Blurयह इवेंट तब फायर होता है जब कोई एलिमेंट फोकस खो देता है। Focusयह इवेंट तब फायर होता है जब एलिमेंट को फोकस मिलता है। focusinयह इवेंट तब फायर होता है जब एलिमेंट फोकस प्राप्त क

  1. सभी Tkinter इवेंट की सूची सभी Tkinter इवेंट की सूची

    Tkinter एक Python लाइब्रेरी है जिसका उपयोग GUI-आधारित एप्लिकेशन बनाने के लिए किया जाता है। Tkinter कई इनबिल्ट फीचर्स और एक्सटेंशन के साथ आता है जिनका उपयोग एप्लिकेशन के प्रदर्शन और व्यवहार को अनुकूलित करने के लिए किया जा सकता है। Tkinter इवेंट आमतौर पर एक इंटरफेस प्रदान करने के लिए उपयोग किए जाते है

  1. Windows 10 इवेंट लॉग में गायब इवेंट Windows 10 इवेंट लॉग में गायब इवेंट

    Windows 10 इवेंट व्यूअर सभी लॉग किए गए इवेंट देखने का एक तरीका है। हालांकि, यदि आप इवेंट लॉग में गायब इवेंट देखते हैं, तो आप कुछ महत्वपूर्ण डेटा से चूक सकते हैं। लॉग उपयोगी होते हैं जब आप यह पता लगाने की कोशिश कर रहे होते हैं कि एप्लिकेशन अपेक्षा के अनुरूप काम कर रहा है या नहीं, और यदि कुछ गायब है,