2011-12-09 4 views
2

.NETおよびVisual Studioプロジェクトでは、プロジェクトの物理ディレクトリ構造をプロジェクトの名前空間構造に似せます。私はそれに完全に同意し、このガイドラインに違反するプロジェクトに取り組むたびに、名前空間の階層をどのようにナビゲートするかがしばしば不明なので、タイプを見つけるのが難しいです。私のプロジェクトのディレクトリ構造に基づいてコンパイラが私のクラスの名前空間を決定する方法はありますか?

私はしかし、発生した問題は、このガイドラインを使用するときにnamespace内のすべてのクラスをラップすることは、冗長であるということです。さらに、すべてのファイルを変更する必要があるため、後でプロジェクト構造を再構築するのは非常に難しい(商用リファクタリングツールなし)。

私は、クラスを別の名前空間に移動するだけで、そのファイルを別のディレクトリにドラッグアンドドロップするだけでよいはずです。

これをどのように達成できますか?私のプロジェクトのディレクトリ構造に基づいて、コンパイラ(または他のツール)が私のクラス(コンパイル時)の名前空間を決定する方法はありますか?

答えて

5

Resharperは、物理レイアウトと一致しないコード内の名前空間を検出できます。残念ながら、Resharperは安くはありません。

AFAIK C#コンパイラは、名前空間と物理的な場所の間に関係がないため、そのようなオプションはありません。

IMHOこれはVisual Studioに組み込まれている必要があります。

+0

Resharperでは、単純なクリックですべての不一致ネームスペースを変更できるようにしていますか? – Steven

+2

はい、修正したいプロジェクト/フォルダ/ソリューションに移動し、右クリックして、リファクタリングメニューから実行できます。私はこのオプションが "名前空間を調整する..."と言います。 –

+1

+1 "これはVisual Studioに組み込まれるべきです"アーメン! – Steven

関連する問題