- - PR -
publicな列挙体を宣言する場所につきまして
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-07-31 17:15
いつもお世話になっております。
表題の件ですが、これまで列挙体を使った事はなかったのですが、 ソースがより分り易くなるかと思い書いてみましたが、どこに記述するのが一般的(使いやすい)のだろうと悩んでおります。 プロジェクトの主な名前空間は以下の4つです。 UI(ユーザーインターフェース層) BLL(ビジネスロジック層) DAL(データアクセス層) Model(データオブジェクト) 下記のように本の情報を保持するAddressInfoの中でAddressTypeのintの値の 代わりに列挙体を使用しようとおもったのですが、どこに宣言してよいものやら... すべての層で参照される名前空間はModelなので、この中に宣言しておけばよいものでしょうか。
すごく初歩的な質問ですがご教授頂けますと幸いです。 | ||||||||
|
投稿日時: 2008-07-31 17:36
何故疑問に思ったのかイマイチわからないですが、
Model で使われるのだから Model ですね。 それと、たぶん単なる記載ミスだと思いますが、 フィールドやプロパティの型も int ではなく AddressType に変更した方がいいですよ。
_________________ C#と諸々 | ||||||||
|
投稿日時: 2008-07-31 17:58
AddressType という列挙型が、AddressInfo クラスの中でしか利用(≠参照)されないのであれば、AddressInfo クラスの内部で定義するという考え方もあります。
# 入れ子クラスというのかな? ただこの場合ですと、AddressType という名称が、列挙型の名前と AddressInfo メンバ とで被ってますので、どっちかを直さないといけないですが。 | ||||||||
|
投稿日時: 2008-07-31 18:17
rain様、
ご返信ありがとうございます。
はじめrain様がおっしゃるようにAddressInfoの中で定義したのですが、 別クラスのメソッドのパラメーターにAddressTypeを使いたい場合に、 GetHoge(AddressInfo.AddressType addressType, Hoge hoge)のように記述する必要があり、 これはちょっと...という感じになってしまいこちらへ投稿させていただいた次第です。 アドバイスありがとうございます。 | ||||||||
|
投稿日時: 2008-07-31 18:21
よこけん様、
いつもいつもありがとうございます。
rain様への返答の中で書いたのですが、はじめAddressInfoの中で宣言したのですが、 しっくりこず、どこへ宣言すべきか迷ってしまいました。。。
すみません、記載ミスです。 掲示板に投稿するときに、ハンドコーディングで書くへんな癖がありまして。。。 以後気をつけます。 本当にありがとうございます。 |
1