はじめに この前、ふとVBのキーワード一覧を見ていたらStaticなる物を見つけました。 Static (Visual Basic) どうも静的なローカル変数を宣言する時に使うもののようです。 正直VBがオブジェクト指向言語を標榜しているならこんなものは要らないはずですが、なぜかあります。 まぁ、あるもんはあるんですからしゃーないですけど。 サンプルコード Staticが指定された変数は以下の特徴があります。 メソッドが最初に呼ばれた時に1度だけ初期化される メソッドが終了しても値を保持し続ける クラスメソッドの場合はクラスに一つ、インスタンスメソッドの場合はインスタンスごとに値を保持する とまぁ、だからこれってプライベートなフィールドで良くね?という感じです。 Module Module1 Sub Main() Dim a = New Hoge() Console.WriteLine(a