投稿数 - 437, コメント - 59536, トラックバック - 156

partial class に inner class

Java と違って、.NET ではあまり inner class を使う用途がない(と思う)。ソースコードの見通しも悪くなりがちだから避ける傾向にある。そんなときは、partial class に inner class を定義したら見通しが良くなると思うのだが、どうだろう?

投稿日時 : 2006年11月13日 1:16

フィードバック

# re: partial class に inner class

私もまったく同感です(^^)

というか、既にそういう使い方をしています(^^;
それでも見通しが悪いときは困ったときのRegionで・・・(^^;;;;
2006/11/13 8:54 | ひろえむ

# re: partial class に inner class

ただ、私の場合、定数を定義したりするときにinner classを使ったりすることがあります。

public class Hoge {
public class ColName {
public const string Name = "HogeCol";
public const int Code = 0;
}
}
ってな感じで・・・。
これだとインテリセンスが使えるので便利で・・・(^^;;
2006/11/13 9:04 | ひろえむ

# re: partial class に inner class

innerClass普通に使うんだけどなぁ・・・
2006/11/13 11:28 | 中博俊

# re: partial class に inner class

ん~partial classにしたら逆に可読性失うように感じちゃいます。外側の要素を触れるクラスを書き捨てれるのがメリットだと思ってるので(デリゲート定義のばやい)。他の用途としては非常に密な関係のクラスをまとめるために名前空間代わりにつかっちゃってますね。この時はまとめるのが主眼なのでやっぱり一ファイルです。

>ひろえむさん
なるほど定数手儀ですね。

他にも使い道あれば知りたいです。
2006/11/13 13:07 | 黒龍

# re: partial class に inner class

>ひろえむさん
確かに定数をまとめるのは便利ですね。
Region を使うのはあまり好かないですね~。余計見通しが悪くなる気がする。

>中さん
そうすか?そんな頻繁に使った事ないんですよねぇ。少し意識してみるようにします。

>黒龍さん
>ん~partial classにしたら逆に可読性失うように感じちゃいます。
そうすかねぇ。言われてみれば確かにそんな気も…。
2006/11/13 19:20 | 囚人

# re: partial class に inner class

私も定数まとめるときに使いますね
テーブルスクラスにColumnNameという定数クラス作ったり・・・
2006/11/13 23:26 | THREE-ONE

# re: partial class に inner class

Constは.NETになってからほとんど使わなくなってしまい、ほとんどをEnumですませます。
でそのEnumをInnerClassにするのはほぼ確実にですね。
あるメソッドの引数バリエーションとしてのEnumはどんどん使う方向なので、そのような使い方をします。
また、1.xまでのdelegateなどもinnerでやったりとか。
局地的なクラスなんかはいろいろあると思います。
逆に無意味に広く公開していませんか?ととうてみましょう。
2006/11/13 23:37 | 中博俊

# re: partial class に inner class

privateなinner classやenumは結構利用しています。
そこでしか利用しないから外に見せたくないという短絡的な理由ですが。
2006/11/14 16:17 | NAL-6295

# re: partial class に inner class

定数や Enum のパターンが多いようですね。スコープを狭くするというのは大事ですね。
2006/11/14 18:32 | 囚人

# re: partial class に inner class

テーブルクラスは私も作ります。
いつも決まって作るようにしているのは
Table
TableCol
Param
ParamType
ParamLen
この4つを作るようにしてます。
すると、長いInsert分も怖くなくなります(^^;
2006/11/16 23:14 | ひろえむ

# re: partial class に inner class

あ、5つだ(^^;
2006/11/16 23:14 | ひろえむ

コメントの投稿

タイトル
名前
URL
コメント