2012-09-28 13 views
11

विफल रहता है मैं स्टाइलकॉप के साथ ठीक से पुराने कोड को प्राप्त करने का प्रयास कर रहा था। यह अंदर उपयोग कथन डालने के लिए पूछता है। यह सभी के लिए अच्छी तरह से काम किया। मैंने समस्या को नीचे दिए गए कोड में कम कर दिया है।नामस्थान के अंदर कथन का उपयोग करना

namespace B.C 
{ 
    using System; 

    public class Hidden 
    { 
     public void SayHello() 
     { 
      Console.WriteLine("Hello"); 
     } 
    } 
} 

namespace A.B.C 
{ 
    using B.C; 

    public class Program 
    { 
     static void Main(string[] args) 
     { 
      new Hidden().SayHello(); 
     } 
    } 
} 

इस देता संकलन त्रुटि त्रुटि

"प्रकार या नाम स्थान का नाम 'छिपा' नहीं पाया जा सका (यदि आप एक का उपयोग कर के निर्देश या एक विधानसभा संदर्भ याद कर रहे हैं?)"।

यदि मैं बीसी का उपयोग कर स्थानांतरित करता हूं; नामस्थान एबीसी से ऊपर है तो यह ठीक से बनाता है। वर्ग छिपी अलग-अलग टीम द्वारा विकसित की जाती है और हम इसे संशोधित नहीं कर सकते हैं।

+2

नामांकन 'एबीसी' के दायरे में 'बीबी' नामस्थान का गलत मूल्यांकन किया गया है। जब वैश्विक दायरे में यह किसी भी नामस्थान के बारे में नहीं जानता है, तो 'बी' पहले यह नहीं मानता कि यह 'ए' ('एबी') में' बी' है। –

उत्तर

15

जैसा कि आप नामस्थान A के अंदर हैं, तो वास्तव में A.B.C होगा।

उपयोग global:: निर्दिष्ट करने के लिए है कि आप जड़ से देख रहे हैं:

using global::B.C; 
+0

+1 सही ..... – Habib

+0

+1 अच्छा स्पष्टीकरण –

+2

यह नामकरण नरक से बचने के लिए हर जगह काम करता है, न केवल एक उपयोग कथन में। (उदाहरण के लिए 'नया वैश्विक :: MyNS.BlahBlah() ') –

2

ई.पू. A.B.C. से जूझ रहा है आपको किसी अन्य चीज़ के लिए बीसी का नाम बदलने या global

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