2012-03-05 13 views
7

यह सुनिश्चित नहीं है कि इस प्रश्न को कैसे वाक्यांशित किया जाए, लेकिन यहां समस्या है।क्या सी # नामस्थान उपनाम को उलटा करना संभव है?

मैं एक नाम स्थान के लिए बनाया गया है: my.foo.bar

मेरी वर्गों में से एक में, मैं गलती से नाम स्थान my.foo.Bar

मैं नाम स्थान पूंजीकरण ठीक करने के लिए इतना है कि हर किसी को एक ही पृष्ठ पर है चाहता हूँ नाम है, लेकिन यह है एक साझा लाइब्रेरी, और मैं इसका उपयोग कर सभी कार्यक्रमों को पुन: संकलित करने का जोखिम नहीं उठा सकता।

तो, क्या मैं कुछ ऐसा कर सकता हूं, संक्षेप में, my.foo.Bar से my.foo.bar पर पुनर्निर्देशित करता है?

+0

अपनी लाइब्रेरी तक पहुंचने के लिए VB.NET का उपयोग करें - यह मामला असंवेदनशील है। ;-) (ठीक है, बस मजाक कर रहा है) – Heinzi

उत्तर

7

वैश्विक स्तर पर नहीं। आप namespace aliases का उपयोग कर सकते हैं, लेकिन केवल ग्राहक कोड में। ऐसा लगता है कि आपको ब्रेकिंग बदलाव लेने की आवश्यकता हो सकती है।

एक अगर यह केवल एक या दो वर्गों है, यह ऐसा करने का तरीका,, my.foo.bar को my.foo.Bar से उन्हें कॉपी Obsolete attribute का उपयोग कर बुरा नाम स्थान में लोगों का बहिष्कार, और धीरे धीरे सही लोगों के लिए खत्म ग्राहकों को स्थानांतरित करने के लिए होगा।

तो वर्ग राज्यविहीन है, तो my.foo.Bar नाम स्थान में वर्ग एक के लिए my.foo.bar नाम स्थान में प्रतिनिधि के रूप में कर सकता है @JohnSaunders पता चलता है, लेकिन केवल तभी जब उस वर्ग के ग्राहक के उपयोग प्रतिनिधिमंडल रोकता नहीं है (सब कुछ एक विधि है या एक संपत्ति, उस वर्ग का प्रकार प्रतिबिंब, आदि के माध्यम से उपयोग नहीं किया जाता है)।

+0

+1। – Heinzi

+0

इस मामले में, यह एक छोटी कक्षा, 4 गुण और 3 अधिभारित कन्स्ट्रक्टर है। – IronicMuffin

6

सबसे अच्छा आप कर सकते हैं बुरी तरह से नामित नामस्थान में सभी प्रकार लेना, और सही नामस्थान में उनके संस्करण बनाना। ये खराब नामस्थान संस्करणों में प्रतिनिधि हो सकते हैं।

+1

शायद 'myBar = my.foo.Bar' का उपयोग कर रहा है। बाधा 'अपरिवर्तनीय साझा लाइब्रेरी' विकल्पों को बहुत सीमित करती है। – Steve

+0

@ जॉन मैं यह कैसे करूँगा? बुरी तरह से नामित नेमस्पेस में कक्षा से प्रवेश करें? क्या यह काफी अच्छा है? – IronicMuffin

+0

मैं रीशेपर का उपयोग करता हूं, इसलिए मैं इसे प्रतिनिधि सदस्यों को बनाने के लिए कहूंगा। अप्रचलित विशेषता के लिए –

संबंधित मुद्दे