Static (Visual Basic)
1 つ以上の宣言されているローカル変数が存在し続け、それらが宣言されているプロシージャの終了後もその最新の値が保持されるように指定します。
Remarks
通常、プロシージャ内のローカル変数は、プロシージャが停止するとすぐに存在しなくなります。 静的変数は存在し続け、その最新の値が保持されます。 次回にコードでプロシージャを呼び出したときに、変数は再初期化されず、それに代入された最新の値も保持されます。 静的変数は、それが定義されているクラスまたはモジュールの有効期間にわたって存在し続けます。
ルール
宣言コンテキスト。
Static
は、ローカル変数にのみ使用できます。 つまり、Static
変数の宣言コンテキストは、プロシージャまたはプロシージャ内のブロックにする必要があり、ソース ファイル、名前空間、クラス、構造体、またはモジュールにすることはできません。構造体プロシージャ内で
Static
を使用することはできません。Static
ローカル変数のデータ型は推論できません。 詳細については、「ローカル型の推論」を参照してください。結合された修飾子。 同じ宣言内で
Static
をReadOnly
、Shadows
、またはShared
と共に指定することはできません。
動作
Shared
プロシージャで静的変数を宣言する場合、アプリケーション全体で使用できる静的変数のコピーは 1 つだけです。 クラスのインスタンスを指す変数ではなく、クラス名を使用して Shared
プロシージャを呼び出します。
Shared
ではないプロシージャで静的変数を宣言すると、クラスの各インスタンスで使用できる変数のコピーは 1 つだけです。 非共有プロシージャを呼び出すには、クラスの特定のインスタンスを指す変数を使用します。
例
次の例は、Static
の使い方を示しています。
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Static
変数の totalSales
は、1 回だけ 0 に初期化されます。 updateSales
を入力するたびに、totalSales
には、それに対して計算した最新の値が引き続き含まれます。
Static
修飾子は、次のコンテキストで使用できます。
関連項目
.NET