अगर मैं बटन # में चेक कर सकता हूं। क्लिक करें ईवेंट में कोई हैंडलर जुड़े हैं? यदि (बटन। क्लिक करें! = शून्य) संकलन त्रुटि फेंकता है।सी # इवेंट हैंडलर
उत्तर
आप नहीं कर सकते। घटनाक्रम सिर्फ "एक हैंडलर जोड़ें" और "एक हैंडलर को हटाएं" का पर्दाफाश करें - यह सब कुछ है। (वास्तव में सीएलआर में आप "आग लगाना" के साथ एक विधि को जोड़ने के लिए मेटाडेटा भी प्राप्त कर सकते हैं लेकिन सी # कंपाइलर कभी इसे उत्पन्न नहीं करता है।) कुछ घटना प्रकाशक यह जांचने के लिए अतिरिक्त साधन प्रदान कर सकते हैं कि कोई ग्राहक हैं या वास्तव में आप उन ग्राहकों को देखते हैं) लेकिन यह घटना पैटर्न का हिस्सा नहीं है।
अधिक जानकारी के लिए my article about events देखें, या events टैग (जिसे मैं इस प्रश्न में जोड़ना चाहता हूं) देखें।
आपको इसकी आवश्यकता क्यों है? संदर्भ क्या है? हो सकता है कि परिणाम
बटन प्राप्त करने का एक बेहतर तरीका है बटन एक बाहरी वस्तु है और आप जो करने का प्रयास कर रहे हैं वह यह है कि यह पूछे बिना ग्राहकों की आंतरिक सूची है। यह encapsulation का उल्लंघन कर रहा है ..
आपको ऑब्जेक्ट को हमेशा प्रकट होने वाली घटनाओं के लिए ग्राहकों को प्रबंधित करना चाहिए। अगर यह ग्राहकों को जागरूक होना चाहता था, तो यह एक विधि हैस्क्लिंट्स पंजीकृत किया गया था। ब्रेक न करें।
मुझे लगता है कि यदि आप उस कक्षा में हैं जो घटना को उठाता है तो आप कर सकते हैं।
आप हैंडलर को परिभाषित कर सकते हैं और प्रत्येक का आकलन कर सकते हैं।
उदा। आपके घटना
event System.EventHandler NewEvent;
उठाने घटना विधि आप भी बन सकते हैं आप कर सकते हैं पर
तब के रूप में परिभाषित किया गया है ...
EventHandler handler = NewEvent;
if(handler != null)
{
handler(this, e);
}
आप हैंडलर दे देंगे कि और कहा कि आप से प्रार्थना किए सूची प्राप्त कर सकते हैं ।
EventDescriptor e = TypeDescriptor.GetEvents (yourObject)। ढूँढें ("yourEventName", true);
- 1. इवेंट हैंडलर?
- 2. इवेंट हैंडलर और सी # कक्षाएं विनाशक/
- 3. WPF कमान इवेंट हैंडलर
- 4. वैश्विक माउस इवेंट हैंडलर
- 5. जावास्क्रिप्ट इवेंट हैंडलर प्रिंट
- 6. जावास्क्रिप्ट इवेंट हैंडलर ऑर्डर
- 7. jQuery इवेंट हैंडलर .on()
- 8. Jquery मल्टीसेलेक्ट इवेंट हैंडलर
- 9. बैकबोन इवेंट हैंडलर
- 10. इवेंट हैंडलर हमेशा शून्य
- 11. किसी इवेंट हैंडलर
- 12. गेम प्रोग्रामिंग और इवेंट हैंडलर
- 13. वीबी.नेट 2005 - "ग्लोबल" इवेंट हैंडलर?
- 14. jQuery: नामित फ़ंक्शन इवेंट हैंडलर
- 15. Jquery इवेंट हैंडलर मान वापस
- 16. onbeforeunload इवेंट हैंडलर रद्द करें?
- 17. उपयोगकर्ता कंट्रोल का इवेंट हैंडलर
- 18. लांग प्रेस बटन इवेंट हैंडलर
- 19. क्या सी # में इवेंट हैंडलर को "चेन" करना संभव है?
- 20. एमवीपी, विनफॉर्म - इवेंट हैंडलर या प्रतिनिधि
- 21. इवेंट हैंडलर बनाम इवेंट-फायरिंग विधियों को ओवरराइड करना
- 22. इवेंट हैंडलर में शून्य जांच का उपयोग
- 23. डोमेन इवेंट हैंडलर कब खेलते हैं?
- 24. इवेंट हैंडलर और कॉलबैक के बीच अंतर
- 25. एचटीएमएल 5/जेएस स्टोरेज इवेंट हैंडलर
- 26. इवेंट हैंडलर थ्रेड सुरक्षित नहीं हैं?
- 27. CSS3 जावास्क्रिप्ट इवेंट हैंडलर और फ़ंक्शंस
- 28. आईओसी: इवेंट हैंडलर पर निर्भरता को तारों
- 29. डब्ल्यूपीएफ तत्वों में यूआई अपडेट इवेंट हैंडलर
- 30. बेनामी इवेंट हैंडलर को जोड़ना और निकालना
यह जांचने के लिए कि क्या कोई ग्राहक हैं या नहीं, आपको बस "अगर (न्यूवेन्ट! = नल)" की आवश्यकता है - लेकिन यह वास्तव में घटना से नहीं मिल रहा है, यह इसे बैकिंग फ़ील्ड से प्राप्त कर रहा है। मेरा जवाब मानता है कि ओपी अन्य कार्यक्रमों में रुचि रखता है, "बटन। क्लिक करें" उदाहरण दिया गया है। –