4

我想对任何没有将内容包装在显式 .cs 源文件中的内容强制使用根命名空间namespace。换句话说,我想将类和其他命名空间级别的结构保留在默认命名空间之外。
(使用 Visual Studio 在 Windows .NET 环境中工作)

在下面的示例中,我想默认强制Car该类进入MotorIndustry命名空间,即使它没有显式编码命名空间。

Vehicle.cs(有命名空间)

namespace MotorIndustry {
    public class Vehicle {
        // ...
    }
}

Car.cs(无命名空间/默认)

public class Car : Vehicle {
    //...
}

有没有办法通过 Visual Studio 中的项目设置、AssemblyInfo.cs 文件或其他方式来完成这种“根命名空间”修改行为?

我的理解是 VB.NET 具有这样的功能,但 C# 的行为不同?

关于我为什么要问这个问题的一些上下文:我有数百个类,而程序员忘记将命名空间包装在一些周围。当我从其他项目中引用程序集时,它会污染默认命名空间,其中的类最终会导致一些模棱两可的情况。

4

2 回答 2

5

使用 ReSharper 将类移动到正确的命名空间中。事实上,5.0 版(仍处于 Beta 版)允许您在全局范围内更正命名空间。


另一种方法是让其他开发人员修复代码。

于 2010-02-14T03:21:57.033 回答
5

听起来您正试图在 C# 中复制 VB.Net 的项目命名空间功能。这不是 C# 编译器或 IDE 支持的功能。您将无法通过修改项目文件来创建一个。您需要手动或通过工具将命名空间添加到项目中的每个文件。

于 2010-02-14T03:31:12.067 回答