मैं सी # और एफ # दोनों में कुछ प्रोग्राम करना चाहता हूं। मेरे पास आंशिक कक्षाएं हैं और मैं उनमें से कुछ में एफ # विधियों को परिभाषित करना चाहता हूं। मुझे यह मुद्दा मिलता है कि आंशिक वर्ग 2 डीएलएल में फैला नहीं जा सकता है। क्या कोई तरीका है कि मैं उन्हें विलय कर सकता हूं? मैं एक मुफ्त समाधान और सामान्य निर्माण में इसे स्वचालित रूप से करने की क्षमता पसंद करता हूं।एक साथ कई .NET बाइनरी मर्ज करें?
उत्तर
मैंने पहले से ही इस तरह का अनुरोध किया है, ऐसा लगता है कि अधिक लोग ऐसा करना चाहते हैं। हालांकि, जैसा कि पहले से ही कहा गया है, यह संभव नहीं है। आप कई असेंबली (अलग-अलग वर्गों के साथ) मर्ज करने के लिए ILMerge का उपयोग कर सकते हैं, लेकिन एक अलग भाषा में कक्षा के विभिन्न हिस्सों को लिखना संभव नहीं है। आपको प्राप्त करने वाला एकमात्र उत्तर यह है कि आपको अपने कोड को अलग-अलग ढांचे की आवश्यकता होगी। वहाँ कई विकल्प हैं:
- कार्यों कि भागों आप एफ # में क्या
- एफ # में सदस्यों के साथ घोषित प्रकार और उसके बाद सी #
- से इन कक्षाओं का उपयोग करना चाहते contian के साथ एक एफ # मॉड्यूल घोषित एक आधार वर्ग घोषित सी # (या एफ #) में और विरासत वर्ग बनाते हैं जो अन्य भाषा में शेष कार्यक्षमता जोड़ता है।
किसी भी मामले में, आपको किसी भी तरह से कार्यक्षमता को कम करने की आवश्यकता होगी (जो तकनीकी आवश्यकता है और मुझे विश्वास है कि यह आपके कोड को और अधिक पठनीय बनाने में भी मदद करेगा)।
प्रदर्शित करने के लिए क्यों कई विधानसभाओं भर में आंशिक वर्गों काम नहीं कर सकते हैं:
// C# part
partial class Foo {
private int csharpField;
int Bar() { return FSharpMethod(); }
}
// F# part
type Foo =
member x.FSharpMethod() = x.csharpField
इस उदाहरण में, सी # कोड संकलन नहीं कर सकते, क्योंकि यह पता नहीं है FSharpMethod
मौजूद है और उसके प्रकार क्या है या नहीं। एफ # कंपाइलर कोड को संकलित नहीं कर सकता है, क्योंकि यह नहीं जानता कि csharpField
(और यह मौजूद है या नहीं) का प्रकार क्या है।
बेशक, यह केवल एक तकनीकी समस्या का एक उदाहरण है, लेकिन उनमें से कई होंगे - यदि आप इसका समर्थन करना चाहते हैं तो आप आसानी से कई अन्य समस्याओं की कल्पना कर सकते हैं (और ऐसा लगता है कि दो कंपाइलर दूसरे के इंटर्नल्स से अवगत होना चाहिए)।
आप विभिन्न भाषाओं में कक्षा के विभिन्न हिस्सों को नहीं लिख सकते हैं।
आप क्या करने की कोशिश कर रहे हैं?
आप अलग एफ # लाइब्रेरी में विधियों का पर्दाफाश कर सकते हैं और उन्हें सी # में कक्षा से कॉल कर सकते हैं।
फिर आप दो विधानसभाओं को मर्ज करने के लिए ILMerge का उपयोग कर सकते हैं।
इसे कम करने से पहले, ध्यान दें कि ILMerge बिल्कुल मदद नहीं करेगा। – SLaks
मेरे पास डेटाबेस कनेक्शन और useridFromName सत्यापित यूज़र (और व्यवस्थापक) जैसी अन्य महान चीज़ों के साथ एक मूल उपयोगकर्ता श्रेणी है। मुझे एफ # में कुछ फ़ंक्शन चाहिए जो उन कार्यों में से कई का उपयोग करता है (आमतौर पर वे आंशिक वर्ग का हिस्सा होते हैं) और मैं एफ # में लिखने के तरीकों को लिखना चाहता हूं जब तक कि यह मेरे लिए बहुत जटिल न हो जो मैं सी # में करूँगा और थोड़ा विकास समय खोना। –
क्या यह ildasm-> विलय-> ilasm के साथ काम नहीं करेगा? – Vlad
- 1. मर्ज कई xslt स्टाइलशीट
- 2. .NET बाइनरी फ़ाइल पढ़ें प्रदर्शन
- 3. सीएसवी फाइलों से कई डेटा फ्रेम मर्ज करें
- 4. एक साथ कई रूपों को क्रमबद्ध करें?
- 5. दो सामान्य कॉलम पर कई डेटा फ्रेम मर्ज करें
- 6. रीढ़ की हड्डी - एक साथ 2 संग्रह मर्ज करें?
- 7. पायथन के साथ एक साथ एक फ़ाइल के कई हिस्सों को डाउनलोड करें?
- 8. .NET समाधान - कई परियोजनाओं बनाम एक परियोजना
- 9. लुआ - टेबल मर्ज करें?
- 10. एक मर्ज को पूर्ववत करें जिसे
- 11. एकाधिक मर्ज करें .MOBI फ़ाइलों को एक
- 12. 2 डेटाटेबल्स मर्ज करें और एक नए
- 13. एक साथ कई बटन दबाकर
- 14. संघर्ष समाधान मर्ज करें
- 15. दस्तावेजों को मर्ज करें
- 16. पायथन: मूल्यों के योग() के साथ शब्दों को मर्ज करें
- 17. एनएसआईएस - मॉड्यूल मर्ज करें
- 18. मर्ज किए गए असेंबली (ILMerge)
- 19. .NET: बाइनरी को ऑब्जेक्ट [DataContract] के साथ ऑब्जेक्ट को क्रमबद्ध करने के लिए कैसे करें?
- 20. PHP केवल मर्ज किए गए मानों के साथ मर्ज एरेज़
- 21. मेमोरीस्ट्रीम को एक iText दस्तावेज़ में मर्ज करें
- 22. एक क्वेरी में प्रश्नों मर्ज
- 23. एक ही रिस्ट के साथ कई प्रतिक्रिया प्रकार प्राप्त करें?
- 24. एक साथ कई रूबी रत्न कैसे स्थापित करें?
- 25. django में एक प्रश्न के साथ कई पंक्तियां प्राप्त करें?
- 26. कई श्रेणियों के साथ एक टेस्ट क्लास को चिह्नित करें
- 27. एक सबमिट बटन के साथ कई रूपों को सबमिट करें
- 28. एक मेमोरी-अनुकूली मर्ज एल्गोरिदम?
- 29. मॉड्यूल अपग्रेड कैसे मर्ज करें?
- 30. कई देशी डीएलएल को एक डीएलएल
हेनक होल्टरमैन में किए गए टिप्पणियों के अतिरिक्त कारण हैं कि यह काम क्यों नहीं करेगा। –