HOW TO:使用物件初始設定式宣告物件 (Visual Basic)
物件初始設定式可讓您在單一陳述式 (Statement) 中宣告及具現化類別 (Class) 的執行個體 (Instance)。此外,您可以同時初始化執行個體的一個或多個成員,而不需要叫用 (Invoke) 參數型建構函式 (Constructor)。
當您使用物件初始設定式來建立具名型別的執行個體時,會呼叫類別的預設建構函式,接著按照您指定的順序初始化指定的成員。
下列程序顯示如何以三種不同的方式來建立 Student 類別的執行個體。此類別具有姓氏、名字和年級屬性。這三項宣告中的每一項都會建立 Student 的新執行個體,其 First 屬性設為 "Michael"、Last 屬性設為 "Tucker",而其他所有屬性則設為預設值。此程序中的每項宣告結果都符合下列不使用物件初始設定式的範例。
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
如需 Student 類別的實作 (Implementation),請參閱 HOW TO:建立項目清單。您可以複製該主題中的程式碼,以設定類別並建立要處理的 Student 物件。
若要使用物件初始設定式建立具名類別的物件
如同您計劃使用建構函式一樣開始宣告。
Dim student1 As New Student
輸入關鍵字 With,後面接著以大括弧括住的初始設定清單。
Dim student1 As New Student With { <initialization list> }
在初始設定清單中,包含您想初始化的每個屬性並且指派其初始值。屬性名稱前面必須有一個句號。
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
您可以初始化類別的一個或多個成員。
此外,您也可以宣告類別的新執行個體,然後指派其值。首先,宣告 Student 的執行個體:
Dim student2 As Student
以正常方式開始建立 Student 的執行個體。
Dim student2 As Student = New Student
依序輸入 With 和物件初始設定式,以初始化新執行個體的一個或多個成員。
Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
您可以省略 As Student,以簡化前一個步驟中的定義。如果您這麼做,編譯器 (Compiler) 會使用區域型別推斷,判斷 student3 為 Student 的執行個體。
Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
如需詳細資訊,請參閱區域型別推斷 (Visual Basic)。