2010-02-10 12 views
9

नामस्थान को परिभाषित करने के निम्नलिखित दो तरीकों के लिए क्या अंतर है?सी # नामस्थान प्रश्न

namespace A.B.C { 
    public class AA{ 

    } 
} 

namespace A { 
    namespace B{ 
     namesapce C{ 
      public class AA{ 

      } 
     } 
    } 
} 
कुछ में

जहाँ मैं

namespace A{ 
//some classes 
} 

namespace A.B { 
//some classes 
} 

namespace A { 
namespace B { 
//some classes 
} 
} 

दोनों हो सकता है using A.B.C; मैं C.AA a; उपयोग कर सकते हैं सी नाम स्थान में ए.ए. वर्ग निर्दिष्ट करने के लिए द्वारा वर्ग ए.ए. उपयोग करने के लिए भी ऐसा ही करने की जरूरत है या मैं का उपयोग करना नामस्थान सम्मेलन गिरना: A.B.C.AA a; संभावित परेशानियों से बचने के लिए?

उत्तर

9

वे वही हैं। आप .NET Reflector में इस कोड को देखें, तो:

namespace A { 
namespace B{ 
namespace C{ 
public class AA{ 

} 
} 
} 
} 

आप इस मिल:

namespace A.B.C 
{ 
    public class AA 
    { 
     // Methods 
     public AA(); 
    } 
} 

दोनों ही तरीकों से बिल्कुल वैसा ही मध्यवर्ती भाषा कोड को संकलित कर रहे हैं।

+0

अन्य प्रश्न के बारे में क्या "क्या मैं सीएएए का उपयोग कर सकता हूं; सी नेमस्पेस में एए क्लास निर्दिष्ट करने के लिए या मुझे पतन नामस्थान सम्मेलन का उपयोग करना होगा: एबीसीएएए ए; संभावित परेशानियों से बचने के लिए?"। जहां तक ​​मुझे पता है कि आप इसे केवल उपनाम का उपयोग करके प्राप्त कर सकते हैं (सी = एबीसी का उपयोग करके)। – Ivan

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