PR
リスト1●Visual Basicで,プロパティを1行で記述した例(Form1.vb)
リスト1●Visual Basicで,プロパティを1行で記述した例(Form1.vb)
[画像のクリックで拡大表示]
リスト2●リスト1の(1)を,従来と互換性のある方法で記述した例(Form1.vbの一部)
リスト2●リスト1の(1)を,従来と互換性のある方法で記述した例(Form1.vbの一部)
[画像のクリックで拡大表示]

 Visual Studio 2010では,Visual Basicのプロパティ(外から見るとメンバー変数と同様だが,読み書きのときにプロシジャが呼び出される仕組み)を1行で書けるようになった。リスト1がその例で,(1)で「MyName」という名前の文字列(String)型のプロパティを宣言し,「鈴木一郎」という値で初期化している。フォームに貼り付けたボタン「Button1」を押すと(2)のButton1_Clickサブプロシジャが呼び出されるようにして,(3)ではMyNameの値をダイアログに表示している。

 (4)は「_MyName」という名前の変数の値を表示するコードだ。_MyNameはリスト1で宣言していないように見えるが,実は,(1)のコードでMyNameを宣言すると,内部で_MyNameという変数が作られる。リスト1の(1)は,実はリスト2のコードと同等なのである。

 C#では,「自動実装するプロパティ」として, Visual Studio 2008の段階で

  string MyName
    { get; set; }
のような書き方が可能になっている。VBがC#に追い付いたと言えるが,1行で初期化まで書けるようになったという点では,VBの方が便利かもしれない。