« 例外が発生してもデバッグで停止しない現象 | トップページ | Split考 »

2011年5月 8日 (日)

さようなら、ByVal

2011年3月にVisual Studio 2010 SP1では、いくつかの機能追加と変更、バグの修正が行われています。

http://support.microsoft.com/kb/983509/ja

この中で、見落としていたのですがVBでプロシージャを作ると自動的にパラメーターの前につくByValが自動ではつかなくなったのをご存じだったでしょうか?

私は最近気が付きました。

■具体例

たとえば、

private sub test (x as integer)

と書いて、[Enter]キーを押すと、従来は次のようにXの前にByValが自動的に付きました。

Private Sub test(ByVal x As Integer)

それがSP1を入れると大文字小文字が変換される以外特に変化なしです。

Private Sub test(x As Integer)

xの前に何も書かなかった場合、ByValと同じ意味になりますので機能上の変更はないです。

イベントプロシージャでも変わりました。フォームをダブルクリックすると従来は次のコードが生成されていました。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

SP1を入れるとこうなります。

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

■変更の背景

このことは上にあげたリンク先の変更点の一覧にも書いてあります。

さらにそこからリンクをたどっていくともとはユーザーからの提案だったようです。

https://connect.microsoft.com/VisualStudio/feedback/details/542271#details

引用

>At this point, repeating ByVal everywhere is just noise.

私訳:こうやって見ると、どこにでもいちいちByValってでるのはうざいです。

■Visual Basic 開発チームへの提案は誰でもできる

日本語でも提案をすることはできますので、普段思っていることがある方は提案してくださいね。(VB中学校よりもレベルは高いので、「こんなこと提案していいのかな」と思ったらまずはVB中学校掲示板で相談してみて下さい。)

マイクロソフトへの提案サイト(日本語版。バグ報告もあり。)

https://connect.microsoft.com/VisualStudioJapan/Feedback

Visual Basic中学校掲示板

http://rucio.cloudapp.net/ThreadList.aspx

|

« 例外が発生してもデバッグで停止しない現象 | トップページ | Split考 »

Visual Basic」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/197542/51613980

この記事へのトラックバック一覧です: さようなら、ByVal:

« 例外が発生してもデバッグで停止しない現象 | トップページ | Split考 »