2011-09-02 13 views
7

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

वहाँ डिफ़ॉल्ट के इस

namespace Foo 
{ 
    using System; 
    using System.IO; 

पसंद करते हैं बजाय के लिए किसी भी तकनीकी कारणों से कर रहे हैं

using System; 
using System.IO; 

namespace Foo 
{ 
+1

देखें http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace – chrisaut

+0

यह दोनों तरह से काम करता है लेकिन आम तौर पर लोग इसे नामस्थान के बाहर पसंद करते हैं लेकिन आप इसे देख सकते हैं [नेमस्पेस के अंदर या बाहर का उपयोग करना] (http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace) –

उत्तर

7

एरिक लिपर्ट explains this

सामान्यतः, वे समान हैं।
हालांकि, using नामस्थान में बयान नामस्थान के बाहर नामस्थान और उपनाम शामिल कर सकते हैं।

0

कोई तकनीकी कारण नहीं, सिर्फ एक वरीयता है। निश्चित रूप से कोड का दूसरा हिस्सा क्लीनर दिखता है, हालांकि।

2

लगभग * दोनों के बीच एकमात्र अंतर होगा यदि आपने एक ही फ़ाइल में एक से अधिक नामस्थान का उपयोग किया था (या यदि आपने एक ही नामस्थान को एक से अधिक बार उपयोग किया था)। मुझे यकीन नहीं है कि आप ऐसा क्यों करेंगे, आप निश्चित रूप से कर सकते हैं:

using System; 

namespace FooNamespace 
{ 
    using System.IO; 

    class Foo 
    { 
     // you can use types from System and System.IO directly here 
    } 
} 

namespace BarNamespace 
{ 
    class Bar 
    { 
     // you can't use types from System.IO directly here 
     // but you can use types from System 
    } 
} 

* स्लाक्स का जवाब देखें।

+0

यह विस्तार विधियों के लिए उपयोगी है। http://blog.slaks.net/2011/07/creating-local-extension-methods.html – SLaks

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