可能是重复问题:
Usings应该在命名空间内还是外部?
我正在查看一个代码库,作者(我尊重的人)一贯将using语句放在命名空间内,而不是在其上方。这样做是否有优势(更高效的GC?),还是只是代码风格偏好?
谢谢,
Berryl
可能是重复问题:
Usings应该在命名空间内还是外部?
我正在查看一个代码库,作者(我尊重的人)一贯将using语句放在命名空间内,而不是在其上方。这样做是否有优势(更高效的GC?),还是只是代码风格偏好?
谢谢,
Berryl
namspace bar {
using foo //this may mean "using global::bar.foo OR using global::foo"
}
Reference
http://blogs.msdn.com/b/ericlippert/archive/2007/06/25/inside-or-outside.aspx?wa=wsignin1.0
Scott Hanselman在2008年7月写了一篇关于这个的文章。我不知道这是否随着.NET 4框架而改变,但基本上这只是一个偏好问题,除非您将类命名为现有类以及单个文件中的多个命名空间。
这是个人偏好问题,但在某些情况下,在内部使用语句和在外部使用语句会有一些语义上的区别。
using Bar;
namespace Foo
{
using Bar;
namespace Bar
{
class C
{
}
}
namespace Baz
{
class D
{
C c = new C();
}
}
}
namespace Bar
{
class E
{
}
}
这是微软推荐的最佳实践。像stylecop这样的程序也推荐使用。
请查看 sa1200是否所有using指令都必须放在命名空间内(StyleCop)纯粹是外观上的问题?,以获得更深入的讨论。