2010-01-25 11 views
9

क्या परियोजनाओं में आंशिक कक्षाएं हो सकती हैं।परियोजनाओं में आंशिक वर्ग

उदा। प्रोजेक्ट 1 में ग्राहक वर्ग है। प्रोजेक्ट 2 जो वैकल्पिक मॉड्यूल है, ऑर्डर क्लास को जोड़कर और क्लाइंट क्लास क्लास का उपयोग करके क्लाइंट क्लास में जोड़ता है।

+1

असर शायद जाने का तरीका है। –

+0

इंटरफेस का उपयोग करके भी मदद मिली क्योंकि मैंने आईसी कस्टमर – Traci

उत्तर

16

आप परियोजनाओं के बीच कक्षा के लिए कोड को विभाजित करने के लिए partial कीवर्ड का उपयोग नहीं कर सकते। partial कीवर्ड एक कंपाइलर चाल है; संकलक इसे प्राप्त करने वाले हिस्सों में से एक एकल वर्ग आउटपुट करेगा, इसलिए कक्षा के सभी हिस्सों को एक ही बाइनरी फ़ाइल के साथ मौजूद होना चाहिए। एक बार कक्षा संकलित हो जाने के बाद, आंशिक वर्ग होने का कोई निशान नहीं बचा है।

यदि आप मौजूदा कक्षा का विस्तार करना चाहते हैं तो आपको या तो इसे प्राप्त करने की आवश्यकता होगी (यदि यह मुहरबंद नहीं है), या अपनी खुद की नई कक्षा बनाएं जिसमें कक्षाएं शामिल हों जिन्हें आप जानकारी एकत्र करना चाहते हैं।

+4

+1 को विरासत के विकल्प के रूप में रचना का उल्लेख करने के लिए इंटरफेस का उपयोग किया। – Randolpho

+0

आप एक्सटेंशन विधियों का भी उपयोग कर सकते हैं जो इस प्रकार को सॉर्ट या प्राप्त करेंगे। – Hoots

1

नहीं। आंशिक वर्ग को उसी संदर्भ में संकलित किया जाना चाहिए, यानी असेंबली।

आप जो करना चाहते हैं वह Inheritance का उपयोग करना है।

1

आंशिक कक्षाएं पूरी तरह से एक कंपाइलर निर्माण हैं - यह मूल रूप से कक्षा परिभाषाओं को एक साथ जोड़ती है, फिर संकलित करती है। .NET में 'आंशिक वर्ग' की कोई अवधारणा नहीं है, इसलिए आप विभिन्न संकलन इकाइयों (परियोजनाओं या असेंबली) में आंशिक कक्षाओं को विभाजित नहीं कर सकते हैं

0

आप अलग-अलग परियोजनाओं में आंशिक कक्षा का उपयोग नहीं कर सकते हैं। अवधि जिसका आप उपयोग कर सकते हैं एक्सटेंशन Class Extensions या विरासत या इंटरफ़ेस