2011-09-02 23 views
7

thể trùng lặp:
Should Usings be inside or outside the namespaceNên 'sử dụng' nằm trong không gian tên hoặc bên ngoài?

Có bất kỳ lý do kỹ thuật cho thích này

namespace Foo 
{ 
    using System; 
    using System.IO; 

thay vì mặc định

using System; 
using System.IO; 

namespace Foo 
{ 
+1

Xem http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace – chrisaut

+0

Nó hoạt động theo cả hai cách nhưng Nói chung mọi người thích nó bên ngoài không gian tên nhưng bạn có thể xem xét điều này [Sử dụng bên trong Không gian tên hoặc Bên ngoài] (http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace) –

Trả lời

7

Eric Lippert explains this.

Nói chung, chúng giống hệt nhau.
Tuy nhiên, using câu lệnh trong không gian tên có thể thấy không gian tên và bí danh được bao gồm bên ngoài vùng tên.

0

Không có lý do kỹ thuật, chỉ là một sở thích. tất nhiên, đoạn mã thứ hai trông sạch hơn.

2

Hầu như * khác biệt duy nhất giữa hai trường hợp này là nếu bạn sử dụng nhiều hơn một không gian tên trong cùng một tệp (hoặc nếu bạn sử dụng cùng một không gian tên nhiều lần). Tôi không chắc chắn lý do tại sao bạn làm điều đó, bạn có thể chắc chắn rằng:

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 
    } 
} 

* Xem câu trả lời của SLaks.

+0

Điều này rất hữu ích cho các phương pháp mở rộng. http://blog.slaks.net/2011/07/creating-local-extension-methods.html – SLaks

Các vấn đề liên quan