佐々木屋

技術的なことから趣味まで色々書きます

ここがダメだよ!VB.NET②(「()」の省略)

メソッドは必ず「()」が付きます。引数が必須であればいいのですが、VB.NETで引数無しの場合は「()」を省略してもコンパイルエラーにはなりません。

Dim a As String = (123).ToString()
Dim b As String = (123).ToString

C#は「()」が無いとコンパイルが通りません。

string a = (123).ToString();
string b = (123).ToString; //エラー

要はメソッドなのか、プロパティなのかの判断出来なくなります。これは動作上は特に問題ないように思えますが、プログラムを構築する上で状態変化なのか、振る舞いなのかを考慮する上でとても重要です。

メソッドの「()」は省略しないようにしましょう、というお話でした。