2009-07-04 14 views
13

मैं एकाधिक फ़ाइलों में और विभिन्न नामस्थानों में सी # में आंशिक वर्ग कैसे प्रोग्राम करूं?सी # आंशिक वर्ग

+32

कोई और लगता है यह मनोरंजक है कि नाम के एक उपयोगकर्ता "आंशिक" आंशिक वर्गों के बारे में पूछ रहा है? –

+1

आप ऐसा करने में सक्षम क्यों होना चाहते हैं? आपको क्या समस्या आती है जो आपको लगता है कि ऐसी सुविधा आपको हल करने में मदद करेगी? – jason

+0

यह वास्तव में सिर्फ एक संयोग है। मैं कुछ हफ्तों के लिए स्टैक ओवरफ्लो पर रहा हूं। – Partial

उत्तर

32

आप नहीं कर सकते। here से ...

आंशिक कीवर्ड का प्रयोग इंगित करता है उस वर्ग के अन्य भागों, struct, या इंटरफ़ेस नाम स्थान

भीतर परिभाषित किया जा सकता एक ही नाम स्थान में होना चाहिए।

प्रति टिप्पणी: यहां an article है जो नामस्थान क्रॉस एकाधिक असेंबली को परिभाषित करने पर चर्चा करता है। वहां से ...

कड़ाई से बोलते हुए, असेंबली और नामस्थान ऑर्थोगोनल हैं। वह है, आप एक एकल नामस्थान के सदस्यों को कई असेंबली में घोषित कर सकते हैं, या एक ही असेंबली में एकाधिक नामस्थान घोषित कर सकते हैं।

+0

क्या आपके पास एकाधिक फ़ाइलों पर समान नामस्थान हो सकता है? – Partial

+4

हाँ आप एक ही असेंबली में और कई असेंबली में एकाधिक .cs फ़ाइलों पर भी कर सकते हैं। –

+0

डाउन-मतदाता की एक अलग राय है? –

3

आप नहीं कर सकते। आंशिक वर्ग का अर्थ केवल यही है: एक ही कक्षा कई फाइलों में टूट गई। इसका यह भी अर्थ है कि इस आंशिक कक्षा के सभी फाइलों में समान नामस्थान होना चाहिए। अन्यथा यह वही कक्षा नहीं होगी।

+0

डाउनवोट क्यों? यह सही है, खासकर "अन्यथा यह वही कक्षा नहीं होगी" बिट। –

11

आपके पास एकाधिक नामस्थानों में आंशिक कक्षा नहीं हो सकती है। अलग-अलग namespaces में समान नाम के वर्ग परिभाषा विभिन्न वर्ग द्वारा हैं।

4

आंशिक वर्ग (किसी भी अन्य वर्ग के रूप में) को एक एकल नामस्थान में रहने की आवश्यकता है (अन्यथा इसकी दूसरी कक्षा)।

अलग फ़ाइलों के बीच इसे विभाजित करने के लिए बस का उपयोग कीवर्ड के बाद आंशिक कीवर्ड का उपयोग करें:

// this bit of the class in a file 
public partial class Employee 
{ 
    public void DoWork() 
    { 
    } 
} 

//this bit in another file 
public partial class Employee 
{ 
    public void GoToLunch() 
    { 
    } 
} 
संबंधित मुद्दे