2012-08-04 23 views
5

संभव डुप्लिकेट:
Should Usings be inside or outside the namespace"नेमस्पेस" के अंदर या बाहर "उपयोग" (आयात) के बीच मतभेद?

मैं विधानसभाओं का उपयोग कर के दो दृष्टिकोण को देखा है।

namespace Assembly 
{ 
    using System.Data; 
    class Foo{ 
    ... 
    } 
} 

using System.Data; 
namespace Assembly 
{ 
    class Foo{ 
    ... 
    } 
} 
+0

(http://stackoverflow.com/questions/2026466/c-sharp- (जहां मैं gracefuly भी कोड कॉपी से) के लिए -नेमस्पेस-निर्देश-इन-नेस्टेड-नेमस्पेस का उपयोग करके) आपको अपने प्रश्न – Steve

+0

पर बहुत अच्छा 'कोड के पीछे क्या होता है' मिलेगा http://blogs.msdn.com/b/ericlippert/archive/2007/06 /25/inside-or-outside.aspx –

उत्तर

0

वास्तव में उनके बीच एक पतला अंतर है।

उदाहरण निम्नलिखित पर विचार करें: इस पर

//File1.cs 
using System; 
namespace Outer.Inner 
{ 
    class Foo 
    { 
     static void Bar() 
     { 
       double d = Math.PI; 
     } 
    } 
} 

// File2.cs 
namespace Outer 
{ 
    class Math 
    { 
    } 
} 

संकलक, एक त्रुटि प्राप्त होगी के रूप में यह System नाम स्थान पर देख से पहले Outer नाम स्थान में Math वर्ग, मिल जाएगा। और के अंदरMath नामस्थान कोई PI नहीं है।

मामले में, यदि आप, बजाय, using System अंदर वर्ग घोषणा शब्दों में कहें, यह पहले द्वारा संकलक द्वारा उठाया जाएगा, ताकि कोई त्रुटि उत्पादन किया जाएगा।

इस के लाभ स्पष्ट है: मामले में अगर आप कुछ कोड, जहां किसी ही नाम स्थान कि आप ने लिखा में Math वर्ग लिखा मिलता है, तो आप उस समस्या वैकल्पिक हल करने के लिए एक मौका है।

इस लिंक पर अधिक विस्तृत विवरण नज़र Should Usings be inside or outside the namespace

भी इस [विकी सवाल] में
0

पर एक का उपयोग करने के अंतर और लाभ क्या हैं, मुझे विश्वास नहीं है कि प्रारूप में कोई लाभ है। यह बस टीम कोडिंग मानकों और पठनीयता के लिए आता है।