Merrion Square

merrionsq.exblog.jp ブログトップ

Visual Studio: 子「partial class」を「Solution Explorer」上でネスト表示させる

「partial class」は、例えばファンクションの種類ごとにファイルを分けて、1つのクラスを管理するのに便利ですが、ファイルが増えると今度はソリューション・エクスプローラ上でたいへんなことになってきます。

フォルダーを作って整理することもできますが、ここでは親「partial class」クラスを折りたたみ表示にして子「partial class」をネストしてしまう方法を紹介します。

フォルダーで「partial class」を管理するとこのようになると思います。
a0030714_5145359.jpg


子「partial class」をネスト化した後はこのようになります。
a0030714_5153391.jpg


このようにシンプルな例だと、ネストが増えただけで、見た目はフォルダーでの管理と変わらないですが、例えば「MyClasses」フォルダー内で、「partial class」で構成された複数のクラスを管理する場合など、ファイル構成をずいぶんすっきりさせることができると思います。

残念ながら「Visual Studio」のUI上でこのようにネスト化することはできないようなので、「*.csproj」をノートパッドなどを使って手書きでエディットしないといけないですが、大きなプロジェクトでは特に、後の管理を考えると試す価値はあると思います。

1.子「partial class」の名前は「親部分クラス名.子部分クラス名」にします。例:親が「MyClass.cs」の場合、子は「MyClass.Partial01.cs」

2.プロジェクト・ファイル(*.csproj)をノートパッドで開きます。CSファイルは以下のように管理されています。
a0030714_631594.gif


3.もし親「partial class」が一番上に来て、子「partial class」がその下に来るような配置になっていなければ、その順番に並べ替えます。

4.「Compile ...」の省略クローズタグ「/」を取って、「/Compile」で閉じます。

5.「DependentUpon」タグを子「partial class」の下に追加します。

6.「DependentUpon」タグ内に親「partial class」ファイル名を入れます。ここまでで以下のようになっているか確認します。

a0030714_6312079.gif


7.「*.csproj」を保存します。プロジェクトが「Visual Studio」ですでに開かれている場合は、プロジェクトをリロードかどうか聞いてくるので、リロードし「partial class」がネストされているかを確認してください。

注意点ですが、、
ファイル名が「1」で述べたようになっていなかったり、
ファイルの並びが「3」のようになっていない
と、きちんとネストできないので注意してください。

実は「partial class」であるないにかかわらず、ファイル名と、タグ構成が上記のようになっていさえすれば、まったく関係ないクラス・ファイルでもネストすることができます。
僕はそのクラスのインターフェイスを作らないといけない場合、「IMyClass」のファイル名を「MyClass.IMyClass.cs」にして、MyClassにネストしてまとめたりしています。
[PR]
by p_n_t | 2010-07-23 07:15 | プログラミング
line

アイルランドのダブリンで、日々の生活で思いついたことを書いたり、アイルランド国内や旅先(主にヨーロッパ)で撮った写真を掲載したりしています。


by p_n_t
line
クリエイティビティを刺激するポータル homepage.excite
カレンダー
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31