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の方が便利かもしれない。