C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[1]: 列挙型を文字型で設定できませんか?


(過去ログ 120 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■70352 / inTopicNo.1)  列挙型を文字型で設定できませんか?
  
□投稿者/ MMC (1回)-(2014/03/14(Fri) 16:45:41)

分類:[VB.NET/VB2005 以降] 

列挙型はInteger型で設定できますが、文字型で設定できませんか?


Public Enum Kbn
Honten = 1 '本店
Shiten = 2 '支店
End Enum

Public Enum Kbn
Honten = "1" '本店
Shiten = "2" '支店
End Enum

こんな風に設定できないのでしょうか?




    


引用返信 編集キー/
■70353 / inTopicNo.2)  Re[1]: 列挙型を文字型で設定できませんか?
□投稿者/ WebSurfer (197回)-(2014/03/14(Fri) 17:36:19)
No70352 (MMC さん) に返信
> 列挙型はInteger型で設定できますが、文字型で設定できませんか?

なせそうしたいのかも説明されてはいかがでしょう? 

そうすれば、それがダメな場合でも(可能であっても目的を達成するのに他にもっといい
案があれば)、代案が出てくるるかもしれません。
引用返信 編集キー/
■70354 / inTopicNo.3)  Re[1]: 列挙型を文字型で設定できませんか?
□投稿者/ 魔界の仮面弁士 (560回)-(2014/03/14(Fri) 18:00:08)
No70352 (MMC さん) に返信
> 列挙型はInteger型で設定できますが、文字型で設定できませんか?
文字型は Char。
文字列型が String。

今回は Char なのですね?


> こんな風に設定できないのでしょうか?
設定時ではなく取得時でよいなら、その Enum 型に対し、
「1」を "1" に置き換えて返すような拡張メソッドを定義してみるとか。


あるいは Enum に拘らないなら、Shared ReadOnly Property でどうでしょう。

たとえば SystemColors クラスの場合、
 Dim x As Color = SystemColors.InactiveCaption
 Dim y As Color = SystemColors.Highlight
 Dim z As Color = SystemColors.HighlightText
のように利用できますよね。


それと同様、Kbn クラスに対して
 Dim sHonten As Char = Kbn.Honten
として利用できるような共有プロパティを用意するということで。
あるいは Const とか。
引用返信 編集キー/
■70369 / inTopicNo.4)  Re[1]: 列挙型を文字型で設定できませんか?
□投稿者/ Jitta (138回)-(2014/03/16(Sun) 10:38:28)
No70352 (MMC さん) に返信
> 列挙型はInteger型で設定できますが、文字型で設定できませんか?
>
> 例
> Public Enum Kbn
> Honten = 1 '本店
> Shiten = 2 '支店
> End Enum
> ↓
> Public Enum Kbn
> Honten = "1" '本店
> Shiten = "2" '支店
> End Enum
>
> こんな風に設定できないのでしょうか?

http://igeta.cocolog-nifty.com/blog/2007/11/enum_string.html
こういうことかと思ったんだけど、違うのね?

http://www.gizcollabo.jp/vbtomo/log/archive/vbqanda_762_3.html
こっちかな?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -