ユーザー定義定数 (Visual Basic)
定数とは、数字または文字列の代わりに使用される名前のことであり、その値は不変です。定数に格納された値は、その名が示すとおり、アプリケーションの実行中に変わることはありません。使用するコントロールやコンポーネントによって定義されている定数を使用するか、または独自の定数を作成できます。自分で作成した定数は、ユーザー定義と呼ばれます。
定数は、変数名を作成するときと同じガイドラインに従って、Const ステートメントで宣言します。Option Strict が On である場合、定数の型を明示的に宣言する必要があります。
Const ステートメントの使用方法
Const ステートメントでは、数値および日付や時刻を表す値を定数の値にできます。
Const conPi = 3.14159265358979
Public Const conMaxPlanets As Integer = 9
Const conReleaseDate = #1/1/1995#
また、文字列型 (String) の定数も定義できます。
Public Const conVersion = "07.10.A"
Const conCodeName = "Enigma"
通常、等号 (=) の右側には数値またはリテラル文字列を指定しますが、数値または文字列に評価される式を指定することもできます。ただし、指定する式の中に関数の呼び出しを含めることはできません。また、既に定義された定数を使って別の定数を定義することもできます。次に例を示します。
Const conPi2 = conPi * 2
ユーザー定義定数のスコープ
Const ステートメントのスコープは、同じ場所で宣言される変数のスコープと同じです。スコープは、次のいずれかの方法で指定できます。
プロシージャ内だけで存在する定数の宣言は、そのプロシージャ内で行います。
同じクラスのすべてのプロシージャで使用でき、ほかのモジュールでは使用できない定数の宣言は、クラスの宣言セクションで行います。
アセンブリのすべてのメンバーが使用でき、アセンブリの外部のクライアントは使用できない定数の宣言は、クラスの宣言セクションで Friend キーワードを使って行います。
アプリケーション全体で使用できる定数の宣言は、クラスの宣言セクションで Public キーワードを使って行います。
詳細については、「方法: 定数を宣言する (Visual Basic)」を参照してください。
循環参照の回避
定数の値は、他の定数を使って定義できるため、複数の定数の間で循環参照が発生する可能性があります。循環参照は、次のように、複数のパブリック定数が互いに参照し合うと発生します。
Public Const conA = conB * 2
...
Public Const conB = conA / 2
循環参照があると、Visual Basic でコンパイラ エラーが発生します。