我一直在运行StyleCop而不是一些C#代码,并且它一直报告我的using指令应该在命名空间内.
是否存在将using指令放入命名空间而不是命名空间外的技术原因?
我注意到很多东西来回的一件事是将使用语句放在C#代码文件中 - 无论是在最外层还是在命名空间内.我理解using语句的位置会影响该文件中引用的范围,但我不明白的是,在大多数情况下,有人会想要在其命名空间中使用它们的using语句.
在几乎所有情况下,单个文件中只存在一个名称空间声明,因此使用using语句的范围似乎/(是?)无效.如果一个人在同一个文件中放置了多个类型和多个命名空间,那么使用语句进行范围化就很有意义了,但即使在具有一个命名空间的文件中,我仍然会看到很多这种情况.为什么?
using System;
namespace MyNamespace
{
using System.Text;
public class MyClass {
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
在整个项目中,看似不必要的一个例子是ASP.NET MVC源代码.