如何:使用对象初始值设定项声明对象 (Visual Basic)
通过对象初始值设定项,可在单个语句中声明和实例化类的实例。 此外,可同时初始化实例的一个或多个成员,而无需调用参数化构造函数。
使用对象初始值设定项创建命名类型的实例时,调用类的无参数构造函数,然后按指定的顺序初始化指定的成员。
以下过程演示如何以三种不同的方式创建 Student
类的实例。 该类具有名字、姓氏和年级等属性。 这三个声明中的每一个都创建了一个新的 Student
实例,其中属性 First
设置为“Michael”,属性 Last
设置为“Tucker”,所有其他成员都设置为其默认值。 过程中每个声明的结果等效于以下示例,该示例不使用对象初始值设定项。
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
有关 Student
类的实现,请参阅如何:创建项目列表。 可从该主题复制代码以设置类并创建要使用的 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
来简化上一步中的定义。 如果这样做,编译器会使用本地类型推断来确定student3
是Student
的实例。Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
有关详细信息,请参阅本地类型推断。