設計に関する質問です
現在、ClassA/ClassBで使用するInterfaceを作成しています。
ClassA/ClassBでは共通で使用する固定値が幾つか存在しています。
固定値というのはバイナリデータで種類ごとのenumをインターフェースと同じ名前空間に定義しています。
ですが、一部名前は違うが値は同じというものが存在しています。
使いみちが異なるので名前は分けたいのですがenumで同じ値で定義してしまう(EnumParseは行わない)か1つ1つ定数としてinterfaceに含めてしまうかどちらがいいでしょうか?
またinterface内に定数は定義しても良いものなのでしょうか?
自分のイメージではinterface内には実装を含んではいけないのでしてはいけない気がするのですが...
現在の実装は以下のような感じです
c#
1namespace hoge 2{ 3 public enum typeA 4 { 5 x1 = 0x0F, 6 ... 7 } 8 9 public enum typeB 10 { 11 y1 = 0xF0, 12 ... 13 } 14 15 //現在検討中のenum 16 public enum TypeC 17 { 18 //値は同じで名前が異なるものを定義したい 19 A = 0x00, 20 B = 0x00, 21 C = 0x00 22 } 23 24 interface IClass 25 { 26 //案2 27 const int A = 0x00; 28 const int B = 0x00; 29 const int C = 0x00; 30 } 31 32 class ClassA : IClass 33 { 34 } 35 36 class ClassB : IClass 37 { 38 } 39}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/02/16 04:02 編集