【VB.NET】定数クラスの作り方
Q&A
Closed
解決したいこと
VisualStudioでWindowsフォームアプリを作っています。
VB.NETでの定数(数値のこともあれば文字のこともあり)の最も効率のよいまとめ方が知りたいです。
実現したい仕様
- 定数に別名をつけて管理
- 定数を分類して入れ子で管理
- 参照するときに入れ子に沿ってインテリセンスが効く
- どのクラスから参照するときでも毎回インスタンス化しなくていい
- 自分で定義した定数は1つのファイルにまとめる
イメージ
1ファイルに定数をまとめて書いておく
Class myConst
Class Airport
Const Haneda As String = "HND"
Const Narita As String = "NRT"
End Class
Class Food
Class Fruits
'林檎でもりんごでもなくリンゴ
Const Apple As String = "リンゴ"
End Class
End Class
End Class
使うとき(ピリオド打つたびに候補が出てくる)
aaa = myConst.Food.Fruits.Apple
試したことと頓挫した理由
- モジュールを使う
- インスタンス化せずに使えるが、入れ子のやり方がわからない
- 1つしかインスタンスができないクラスを作る
- 使うとき.Instance.を挟む必要がある
- 定数を定義するときが手間
定数まとめクラス
Public Class ClsConst
Private Shared _instance As ClsConst
Public Shared ReadOnly Property Instance() As ClsConst
Get
If _instance Is Nothing Then
_instance = New ClsConst
End If
Return _instance
End Get
End Property
Class Airport
'内部クラス作るたびに Private Shared _instance as ~と書く必要がある
Const Haneda As String = "HND"
End Class
End Class
End Class
使うとき
aaa = ClsConst.Instance.Airport.Instance.Haneda
教えてください
使う言葉を一か所にまとめておくなんてどんなアプリ作るときでもやりたいことだと思われるのに、JavaはともかくVBやC#で同じことをやろうとしている例がネットで調べても全然出てきません。
おそらく自分で試したことの項は見当はずれのことやっているのであまり真面目に読んでいただく必要ありません。
実現したいのはイメージの項で書いたことなので、これに近いことを実現する方法に心当たりがあればご教示ください。
よろしくお願いいたします。