क्या अलग-अलग डीएलएल में आंशिक वर्ग में दो भाग (समान नामस्थान, समान वर्ग का नाम) होना संभव है?अलग-अलग डीएलएस में आंशिक कक्षाएं
उत्तर
MSDN -Partial Classes and Methods से:
सभी आंशिक प्रकार के लिए होती परिभाषाएँ एक ही प्रकार के कुछ हिस्सों हो एक ही विधानसभा और एक ही मॉड्यूल (.exe या .dll फ़ाइल) में परिभाषित किया जाना चाहिए। आंशिक परिभाषा एकाधिक मॉड्यूल नहीं फैल सकती है।
नहीं, यह संभव नहीं है। जब विधानसभा संकलित की जाती है तो वर्ग को समाप्त करने की आवश्यकता होती है।
नहीं आंशिक कक्षाएं पूरी तरह से भाषा सुविधा हैं। जब एक असेंबली संकलित की जाती है, तो फाइलें प्रकार बनाने के लिए संयुक्त होती हैं। फाइलों को विभिन्न असेंबली में फैलाना संभव नहीं है।
आप जो करना चाहते हैं उसके आधार पर, आप जो भी चाहते हैं उसे पूरा करने के लिए extension methods का उपयोग करने में सक्षम हो सकते हैं।
सवाल यह है कि आप किसी अन्य असेंबली में आंशिक कक्षा क्यों बनाना चाहते हैं? आप असेंबली में अमूर्त वर्गों और इंटरफेस को परिभाषित कर सकते हैं, शायद आपको उसमें देखना होगा।
आईएमएचओ वैध मामले हैं, उदाहरण के लिए: आप एक अलग असेंबली में परिभाषित मॉडल वर्ग में एमवीसी फॉर्म एनोटेशन जोड़ना चाहेंगे। असेंबली खुद को नहीं जानता कि किस संदर्भ में इसका उपयोग किया जाता है, इसलिए असेंबली में कक्षा में कोई टिप्पणी नहीं होनी चाहिए। हालांकि एमवीसी संदर्भ में उन्हें आंशिक वर्ग में जोड़ा जा सकता है (यदि यह संभव था)। – nyi
nyi, क्यों न केवल उस वर्ग से उत्तराधिकारी और शीर्ष पर अपने गुण घोषित करें? यदि आप चाहें तो आप इसे वही नाम भी कॉल कर सकते हैं। – Gleno
जब आप एक अलग डीएल में कक्षा में कोई विधि जोड़ना चाहते हैं तो आप विस्तार विधियों का उपयोग कर सकते हैं। इस विधि का एक दोष यह है कि आप स्थैतिक तरीकों को जोड़ नहीं सकते हैं।
जबकि अन्य उत्तर अप्रिय "नहीं" प्रदान करते हैं कि इस पृष्ठ पर लैंडिंग वाला कोई भी व्यक्ति देखना या सुनना नहीं चाहता था, मुझे एक और विचार से मारा गया था जिसका अभी तक उल्लेख नहीं किया गया है। यदि आंशिक वर्गों को असेंबली में अनुमति दी गई थी, तो किसी को निजी सदस्यों तक उनके द्वारा लिखे गए मौजूदा प्रकारों तक पहुंच प्राप्त नहीं होगी, और उन्हें उन तरीकों से छेड़छाड़ करने की अनुमति मिल जाएगी जो मूल लेखक द्वारा अनजान थे, इस प्रकार सभी विरासत वर्गों को भी खतरे में डाल दिया गया।
इतना ही नहीं, अन्य विधानसभाओं (और उनके बच्चों) में उन वर्गों को इसे काम करने के लिए पुन: संकलित करने की आवश्यकता होगी। इस प्रकार विभिन्न असेंबली पर एक वर्ग को विभाजित करने की अनुमति देना तर्कसंगत नहीं है।
- 1. एएसपीनेट: आंशिक कक्षाएं और विरासत
- 2. आंशिक कक्षाएं, LINQ, इंटरफ़ेस और VB.NET
- 3. जब रिलीज डीएलएस काम नहीं करते हैं लेकिन डीबग डीएलएस
- 4. परियोजनाओं में आंशिक वर्ग
- 5. जीएसी डीएलएस अपडेट करना
- 6. सेटअप प्रोजेक्ट क्रिस्टल डीएलएस
- 7. डीएलएस की रक्षा कैसे करें?
- 8. क्लोजर में स्कैला कक्षाएं
- 9. Ontology में कक्षाएं/उदाहरण
- 10. आंशिक
- 11. आंशिक
- 12. सी # ऐरे में आंशिक
- 13. संपत्तियों में आंशिक रेंडरिंग
- 14. रेल में आंशिक एसएसएल
- 15. आंशिक में mustache.js
- 16. वीएस समाधान, परियोजना बनाम डीएलएस सर्वोत्तम अभ्यास
- 17. डीएलएस को समझना और वे विजुअल स्टूडियो
- 18. सी ++, रनटाइम में कक्षाएं बनाना
- 19. उद्देश्य सी में निजी कक्षाएं
- 20. पायथन मॉड्यूल में कई कक्षाएं
- 21. GORM रिलेशनशिप में सार कक्षाएं
- 22. डेल्फी में स्थिर कक्षाएं (Win32)
- 23. "सार्वजनिक" नेस्टेड कक्षाएं या
- 24. 2 डीएलएस में नामस्थान नाम वाले संदिग्ध वर्ग
- 25. दृश्य स्टूडियो समाधान फ़ोल्डर में संदर्भित डीएलएस संग्रहीत
- 26. PHP कक्षाएं
- 27. सार कक्षाएं
- 28. बहुरूपी कक्षाएं
- 29. सिंगलटन कक्षाएं
- 30. जावास्क्रिप्ट "कक्षाएं"
दूसरों की तरह कहा कि यह संभव नहीं है, लेकिन अलग-अलग स्रोतों से नए व्यवहार के साथ कक्षाओं को पूरक करने के तरीके हैं, आप अलग-अलग डीएल में क्या करना चाहते हैं? – Ozan
मेरे मामले में, मैं किसी तृतीय पक्ष लाइब्रेरी में परिभाषित कक्षा में कुछ स्थिर विधियां जोड़ना चाहता हूं। विस्तार विधियां काम नहीं करेंगी और न ही इंटरफेस और विरासत होगी, क्योंकि कक्षा स्थिर है। यह पता लगाने के बाद कि आपके पास आंशिक स्थैतिक कक्षाएं हो सकती हैं, यह पता लगाने के लिए कि क्या यह असेंबली में काम करता है, लेकिन ऐसा लगता है कि यह काम नहीं करेगा। – Ben