如何:使用物件初始設定式宣告物件 (Visual Basic)

物件初始設定式可讓您在單一陳述式中宣告和具現化類別執行個體。 此外,您可以同時初始化執行個體的一或多個成員,而不需要叫用參數化建構函式。

當您使用物件初始設定式來建立具名類型的執行個體時,會呼叫類別的無參數建構函式,然後依您指定的順序初始化指定的成員。

下列程序示範如何以三種不同的方式建立 Student 類別的執行個體。 此類別具有名字、姓氏、年級及其他屬性。 這三個宣告每一個都會建立 Student 的新執行個體,其中屬性 First 設定為 "Michael"、屬性 Last 設定為 "Tucker",而所有其他成員則設定為其預設值。 程序中每個宣告的結果相當於下列範例,其中不會使用物件初始設定式。

Dim student0 As New Student
With student0
    .First = "Michael"
    .Last = "Tucker"
End With

如需 Student 類別的實作,請參閱操作說明:建立項目清單。 您可以從該主題複製程式碼來設定類別,並建立要使用的 Student 物件清單。

使用物件初始設定式建立具名類別的物件

  1. 開始宣告,就像是打算使用建構函式一樣。

    Dim student1 As New Student

  2. 鍵入 With 關鍵字,後面接著初始化清單並以大括弧括住。

    Dim student1 As New Student With { <initialization list> }

  3. 在初始化清單中,包含您要初始化的每個屬性,並將初始值指派給它。 在屬性名稱前面加上句號。

    Dim student1 As New Student With {.First = "Michael", 
                                      .Last = "Tucker"}
    

    您可以初始化類別的一或多個成員。

  4. 或者,您可以宣告類別的新執行個體,然後將值指派給它。 首先,宣告 Student 的執行個體:

    Dim student2 As Student

  5. 正常開始建立 Student 的執行個體。

    Dim student2 As Student = New Student

  6. 鍵入 With,然後鍵入物件初始設定式,以初始化新執行個體的一或多個成員。

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. 您可以在上一個步驟中省略 As Student 來簡化定義。 如果您這樣做,編譯器會使用區域型別推斷來判斷 student3Student 的執行個體。

    Dim student3 = New Student With {.First = "Michael", 
                                     .Last = "Tucker"}
    

    如需詳細資訊,請參閱區域型別推斷

另請參閱