के बीच एनम कनवर्ट करना मेरे पास एक मॉड्यूल (ए) में एक enum परिभाषा है, उदा। SUCCESS = 0, INVALID_REQ = 1 आदि। फिर मेरे पास एक और डीएलएल (मॉड्यूल बी) है जिसका अपना स्टेटस एनम सेट है। एक बार जब हम ए में एक नया एनम मान जोड़ते हैं, तो हमें इसे मैन्युअल रूप से बी में जोड़ना होगा क्योंकि ए में .NET और B सी कोड है। इसके अलावा, ए में enum बी में स्थिति enum का हिस्सा है (बी से बी की स्थिति के अलावा अपनी आंतरिक स्थिति है)। यह इन दो मॉड्यूल के बीच एक बहुत तंग युग्मन लगता है। उन्हें कम युग्मित करने के लिए कोई सुझाव? Thx!मॉड्यूल
मॉड्यूल
उत्तर
बिल्डिंग के दौरान फ़ाइल के आधार पर इन एनम्स को उत्पन्न करने वाली एक साधारण स्क्रिप्ट क्यों नहीं लिखती? यदि आप वास्तव में उन्हें बेकार करना चाहते हैं, तो आपको किसी को एक मास्टर बनाने और दूसरी तरफ अपनी सामग्री का पर्दाफाश करने की आवश्यकता होगी .. आरसीडब्लू का उपयोग करने की संभावना ..
* खांसी * COM आईडीएल? * खांसी * –
:) यह लिखने के लिए दुनिया का अंत नहीं है .. :) – gbvb
यहां प्रतिबिंब का उपयोग करना मजेदार होगा। मॉड्यूल ए से प्रतिबिंब द्वारा enum को पढ़ता है जो एक छोटा प्रोग्राम लिखें, और सी मॉड्यूल में उपयोग के लिए एक .h फ़ाइल उत्पन्न करता है।
- 1. मॉड्यूल
- 2. मॉड्यूल
- 3. मॉड्यूल
- 4. मॉड्यूल
- 5. मॉड्यूल
- 6. मॉड्यूल
- 7. पायथन: स्थानीय मॉड्यूल वैश्विक मॉड्यूल
- 8. Maven मॉड्यूल एक विशिष्ट मॉड्यूल
- 9. win32com मॉड्यूल/पायथनॉम मॉड्यूल का आत्मनिरीक्षण
- 10. उप मॉड्यूल प्राथमिक मॉड्यूल आयात करना
- 11. मल्टी मॉड्यूल पोम विभिन्न लॉगबैक.एक्सएमएल प्रति मॉड्यूल
- 12. जावास्क्रिप्ट संगठन | मॉड्यूल पैटर्न डब्ल्यू/मॉड्यूल
- 13. वीबीए मॉड्यूल जो अन्य मॉड्यूल चलाता है
- 14. ज़िपफाइल मॉड्यूल
- 15. वीबीए मॉड्यूल
- 16. सीएमडी मॉड्यूल
- 17. ड्रोपल मॉड्यूल
- 18. मैवेन मॉड्यूल
- 19. बाल मॉड्यूल
- 20. सिल्वरस्ट्रिप मॉड्यूल
- 21. आयात मॉड्यूल
- 22. मॉड्यूल पैटर्न
- 23. हास्केल मॉड्यूल
- 24. एलएलवीएम मॉड्यूल
- 25. सीएमके मॉड्यूल?
- 26. जावास्क्रिप्ट मॉड्यूल
- 27. Argparse मॉड्यूल
- 28. मैं मॉड्यूल
- 29. मॉड्यूल (पायथन)
- 30. Magento मॉड्यूल
यहां सबसे बड़ी समस्या दोनों को सिंक में नहीं रख रही है (हालांकि यह एक समस्या है), बल्कि यह तथ्य कि बी में enum का अर्थ ए में enum से अलग है। अब आप चाहने की संभावना खोलते हैं ए के लिए एक नया तत्व जोड़ें, लेकिन अचानक यह बी द्वारा उपयोग किए जाने वाले आंतरिक मूल्य के साथ संघर्ष करता है। यदि आपको अंतःक्रियाशीलता के उद्देश्य के लिए मूल्यों को डुप्लिकेट करने की आवश्यकता है, तो इंटरऑपरेबिलिटी के लिए _only_ का उपयोग करें और अलग-अलग आंतरिक स्थिति का प्रबंधन करें। –
यहां एक * निहित अनुबंध * चल रहा है। कल्पना करें कि HTTP2 एक नया क्रिया कहता है, [जेबबरवॉकी] (http://www.jabberwocky.com/carroll/jabber/jabberwocky.html)। सभी HTTP2 क्लाइंट/सर्वर को इस अनुबंध के ज्ञान के साथ एन्कोड किया जाना होगा। स्पष्ट [प्रोटोकॉल] संस्करणों का उपयोग करना, शायद गार्ड और [नीचे की संगतता] (http://en.wikipedia.org/wiki/Backward_compatibility) के साथ, मिस्चैच को पकड़ने और/या कम करने के लिए उपयोगी हो सकता है। अनुबंध जानकारी साझा करने में सहायता के लिए टूलिंग मौजूद है - कल्पना करें [COM IDLs] (http://en.wikipedia.org/wiki/Component_Object_Model) या अन्य मचान-जेनरेटर। –
@ डैन: मैं ए में एनाम मानों का उपयोग करने के बारे में सोच रहा हूं और 100 से शुरू होने वाले बी में कॉन्स को परिभाषित करता हूं (0-99 से ए)। फिर बी के इंटरफ़ेस के रूप में enum के बजाय पूर्णांक का उपयोग करें। ए और बी दोनों की स्थिति बी के इंटरफ़ेस से उजागर की जा सकती है और चिंता न करें ए और बी एक-दूसरे से हस्तक्षेप करें। – Icerman