2010年4月18日 星期日

VB2010的新語法(一) - Auto-Implemented Properties

VB2010當中,新增了Auto-Implemented Properties這個功能,很顯然是因為n百年前C#就可以這麼寫:
public string UserName { get; set; }

而VB終於在這個版本支援了對等的功能

Public Property UserName As String

過去在VS2008當中,如我你用上面這樣的方式宣告,則VS2008會幫你把程式碼擴展成:

Public Property UserName() As String
Get

End Get
Set(ByVal value As String)

End Set
End Property
而現在在VS2010當中,則依舊保留

Public Property UserName As String
不會幫你自動擴展程式碼,因為兩者現在完全相同,也就是說,在VB2010當中直接以語法開始支援了Properties的Auto-Implemented,不需要再寫成Get/Set兩個部分了。

不過有個地方需要留意,當你使用了這個功能時,Compiler會自動幫你產生一個加上底線(_)的變數作為實際的資料存放位置,因此,若你定義了:

Public Property UserName As String

則不可以再手動定義一個

Dim _UserName As String

這樣是不合法的。

沒有留言: