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 (まだベータ版) では、名前空間をグローバルに修正できます。


もう 1 つの方法は、他の開発者にコードを修正させることです。

于 2010-02-14T03:21:57.033 に答える
5

VB.Net のプロジェクト名前空間機能を C# で複製しようとしているようです。これは、C# コンパイラまたは IDE でサポートされている機能ではありません。プロジェクト ファイルを変更して作成することはできません。手動またはツールを使用して、プロジェクト内のすべてのファイルに名前空間を追加する必要があります。

于 2010-02-14T03:31:12.067 に答える