मैं एक सी # डीएल बना रहा हूं, जिसे WinForms में अन्य डेवलपर्स द्वारा उपयोग किया जा रहा है। कुछ कारणों से, मैं यह जानना चाहता हूं कि, यदि इस लाइब्रेरी से विधियों को मुख्य (जीयूआई) थ्रेड से बुलाया जाता है और डेवलपर को चेतावनी दी जाती है तो उन्होंने ऐसी चीज (यानी लॉग फ़ाइल में) की है। मुख्य धागे से कॉलिंग विधि का पता लगाने का कोई उचित तरीका है? याद रखें कि मेरे पास WinForm एप्लिकेशन तक कोई पहुंच नहीं है।सी # लाइब्रेरी में मुख्य थ्रेड में चलने का पता लगाना
7
A
उत्तर
17
इस मामले में एक आसान समाधान मुख्य यूआई थ्रेड पर बनाई गई लाइब्रेरी असेंबली में स्थिर नियंत्रण घोषित करना है। आप पता लगाने के लिए अगर पुस्तकालय मुख्य थ्रेड से कहा जाता है चाहते हैं, तो निम्न
if (MyLibraryControl.InvokeRequired)
//do your thing here
2
सबसे आसान विकल्प (यदि आप एक रूप है/काम पर नियंत्रण) InvokeRequired जाँच करने के लिए है का उपयोग करें।
अनुपस्थिति में, यदि आप पोस्ट या भेजें अनुकरण करने के लिए SynchronizationContext
का उपयोग करने का प्रयास कर सकते हैं, तो जांचने के लिए क्या थ्रेड होता है? कॉलिंग भेजें या पोस्ट यूआई थ्रेड पर स्विच करेगा।
संबंधित मुद्दे
- 1. मेवेन में असंगत निर्भरताओं का पता लगाना?
- 2. QApplication गैर मुख्य थ्रेड में
- 3. सी # स्पॉन्डेड प्रक्रियाओं का पता लगाना
- 4. jQuery $ .ajax में रीडायरेक्ट का पता लगाना?
- 5. आईओएस - UIView में स्पर्श का पता लगाना?
- 6. क्रोम में जावास्क्रिप्ट त्रुटियों का पता लगाना
- 7. नोडजेस में मेमोरी लीक का पता लगाना
- 8. चौड़ाई का पता लगाना: jQuery में ऑटो
- 9. यह पता लगाना कि सी #
- 10. रजिस्ट्री वर्चुअलाइजेशन का पता लगाना
- 11. योजना: सूची में डुप्लिकेट तत्वों का पता लगाना
- 12. मुख्य थ्रेड
- 13. एंड्रॉइड में मेमोरी/विंडो लीक का पता लगाना?
- 14. कुंजी संयोजनों का पता लगाना
- 15. मौलिक आवृत्ति का पता लगाना
- 16. नई सुविधाओं का पता लगाना
- 17. असुरक्षित परिवर्तनों का पता लगाना
- 18. पॉपओवर खारिज का पता लगाना
- 19. समवर्ती संशोधन का पता लगाना?
- 20. आर - अभिव्यक्तियों का पता लगाना
- 21. यूएस हॉलिडे का पता लगाना
- 22. इंटेल सी ++ पर सी ++ 0x मोड का पता लगाना?
- 23. पूर्णांक ओवरफ़्लो का पता लगाना
- 24. टोस्ट संदेशों का पता लगाना
- 25. जावा प्रोजेक्ट क्रुफ़्ट का पता लगाना
- 26. पृष्ठभूमिवर्कर और मुख्य थ्रेड
- 27. थ्रेड में मुख्य "java.lang.UnsatisfiedLinkError: java.library.path में कोई jpcap
- 28. ब्राउज़र प्रिंट ईवेंट का पता लगाना
- 29. RuntimeError: मुख्य थ्रेड मुख्य लूप
- 30. सी ++ यह पता लगाना कि ग्राफिक्स कार्ड
इसे प्रश्न के सही उत्तर के रूप में चिह्नित किया जाना चाहिए। –