मेरे पास COM dll है जिसे मैं C++/Cli में उपयोग कर रहा हूं, इस COM Dll में से एक विधि IntPtr लौटाती है, मैं उसे मूल ऑब्जेक्ट पॉइंटर में कनवर्ट करना चाहता हूं। मैं यह कैसे कर सकता हूँ? में डाल कृपयाIntPtr को देशी C++ ऑब्जेक्ट में कनवर्ट करने के लिए कैसे करें
उत्तर
IntPtr एक अभिन्न प्रकार, आपको पहले एक सूचक प्रकार करने के लिए इसे बदलने की आवश्यकता है:
IntPtr somePtr;
...
Mumble* fooPtr = (Mumble*)(void*)somePtr;
या अधिक पठनीय संस्करण:
Mumble* fooPtr = (Mumble*)somePtr.ToPointer();
विधि कॉल अनुकूलित किया जाएगा रनटाइम पर दूर।
IntPtr
में ToPointer
विधि है जो void*
देता है। इस विधि को कॉल करें, फिर इस पॉइंटर को सही देशी प्रकार पर डालने के लिए reintepret_cast
का उपयोग करें।
मुझे लगता है कि इस मामले में 'static_cast' का उपयोग करना ठीक होना चाहिए। मुझे किसी अन्य सूचक प्रकार के लिए एक शून्य-सूचक 'reintepret_cast' करने का कोई अच्छा कारण नहीं है। –
मैं Hans Passant's answer संशोधित करना चाहते हैं,
IntPtr
सीधे शून्य सूचक .. आप देशी सी ++ सूचक किसी भी प्रकार में आसानी से डाली सकता है, जो देता है।
IntPtr somePtr;
Mumble* fooPtr = (Mumble*)somePtr.ToPointer();
यहाँ
.ToPointer()
शून्य सूचक वापस आ जाएगी, अब आप अपने कस्टम सूचक प्रकार पर कास्ट कर सकते।
- 1. एक UIntPtr ऑब्जेक्ट को C# में IntPtr में कैसे परिवर्तित किया जा सकता है?
- 2. C# संकेत बनाम IntPtr
- 3. शब्दकोश को सूची में कनवर्ट करने के लिए C#
- 4. एक टाइमटाइटल ऑब्जेक्ट को डेटाटाइम ऑब्जेक्ट में कनवर्ट करने के लिए कैसे करें
- 5. ग्राफिक्स ऑब्जेक्ट को बिटमैप ऑब्जेक्ट में कनवर्ट करें
- 6. ऑब्जेक्ट को enum C#
- 7. HTTP अनुरोध बॉडी को जावा में JSON ऑब्जेक्ट में कनवर्ट करने के लिए कैसे करें
- 8. जावा: किसी भी ऑब्जेक्ट को डेटा के स्ट्रिंग प्रस्तुति में कनवर्ट करने के लिए कैसे करें
- 9. JSON से C# ऑब्जेक्ट प्रारूप में कनवर्ट करने के लिए ऑनलाइन टूल
- 10. structs को intPtr
- 11. मॉडल डेटा ऑब्जेक्ट सरणी को डेटा में कनवर्ट करने के लिए कैसे करें
- 12. किसी परिणाम सेट ऑब्जेक्ट को JSON प्रारूप आउटपुट में कनवर्ट करने के लिए कैसे करें
- 13. ऑब्जेक्ट को बाइट सरणी में C#
- 14. XmlDocument ऑब्जेक्ट को XmlNode ऑब्जेक्ट में कनवर्ट करें - सी #?
- 15. सीएसवी फ़ाइल को जेसन ऑब्जेक्ट में कनवर्ट करने योग्य
- 16. ज़िप फ़ाइल को अनजिप करने के लिए कैसे करें C#
- 17. एक हाइबरनेट ऑब्जेक्ट को असम्पीडित करने के लिए कैसे करें
- 18. सी # में IntPtr कैसे मुक्त करें?
- 19. मैं एक अप्रबंधित IntPtr प्रकार को C# स्ट्रिंग में कैसे परिवर्तित कर सकता हूं?
- 20. पृष्ठभूमिवर्कर को ऑब्जेक्ट को वापस करने के लिए कैसे करें
- 21. एकल hg रिपॉजिटरी को एकाधिक रिपॉजिटरीज़ में कनवर्ट करने के लिए कैसे करें
- 22. Django/Jinja2 टेम्पलेट में स्ट्रिंग करने के लिए dict ऑब्जेक्ट को कनवर्ट करना
- 23. किसी डोमेन मॉडल ऑब्जेक्ट को इंटरफ़ेस ऑब्जेक्ट में बदलने के लिए C# एक्सटेंशन विधि को कैसे कोड करें?
- 24. स्ट्रिंग को फ़्लोट करने के लिए कनवर्ट करें?
- 25. किसी ऑब्जेक्ट को रिकॉर्ड करने के लिए कैसे रिकॉर्ड करें?
- 26. एंकर (लिंक) टैग को अक्षम करने के लिए कैसे करें (स्पैन में कनवर्ट करें)
- 27. रिवर्स टूस्ट्रिंगबिल्डर: स्ट्रिंग को ऑब्जेक्ट में कनवर्ट करें
- 28. jquery dropkick ऑब्जेक्ट को रीलोड करने के लिए कैसे करें
- 29. बाइट्स को एक स्ट्रिंग में कनवर्ट करना C#
- 30. रेल 3 में xml को ActiveRecord ऑब्जेक्ट में कनवर्ट करने के लिए अंतर्निहित तरीका?
आपको COM विधि और "मूल वस्तु" के लिए घोषणाएं प्रदान करने की आवश्यकता है। – logicnp