Skip to content

Set

将对象引用赋给变量或属性。

语法:

Set objectvar = { [ New ] objectexpression | Nothing }

objectvar
变量或属性的名称;遵循标准变量命名约定。
New
可选 New通常在声明期间使用以启用隐式对象创建。当NewSet一起使用时,它创建类的新实例。如果objectvar包含对对象的引用,则在赋新引用时释放旧引用。New关键字不能用于创建任何内部数据类型的新实例,也不能用于创建依赖对象。
objectexpression
由对象名称、同一对象类型的另一个已声明变量,或返回同一对象类型对象的函数或方法组成的表达式。
Nothing
可选 中断objectvar与任何特定对象的关联。将Nothing赋给objectvar时,如果没有其他变量引用先前引用的对象,将释放与该对象关联的所有系统和内存资源。

要有效,objectvar必须是与其赋值对象一致的对象类型。

DimPrivatePublicReDimStatic语句仅声明引用对象的变量。在Set语句赋值特定对象之前,没有实际对象被引用。

以下示例说明如何使用Dim声明类型为Form1的数组。Form1的实例实际不存在。然后SetForm1新实例的引用赋给myChildForms变量。此类代码可用于在MDI应用程序中创建子窗体。

vb
Dim myChildForms(1 To 4) As Form1
Set myChildForms(1) = New Form1
Set myChildForms(2) = New Form1
Set myChildForms(3) = New Form1
Set myChildForms(4) = New Form1

通常,当Set用于将对象引用赋给变量时,不会为该变量创建对象的副本。而是创建对对象的引用。多个对象变量可以引用同一个对象。由于这些变量是对对象的引用而非对象的副本,对象中的任何更改都会反映在所有引用它的变量中。但是,当在Set语句中使用New关键字时,会实际创建对象的实例。

示例

本示例使用Set语句将对象引用赋给变量。假设YourObject是具有Text属性的有效对象。

vb
Dim YourObject, MyObject, MyStr
Set MyObject = YourObject    ' Assign object reference.
' MyObject and YourObject refer to the same object.
YourObject.Text = "Hello World"    ' Initialize property.
MyStr = MyObject.Text    ' Returns "Hello World".

' Discontinue association. MyObject no longer refers to YourObject.
Set MyObject = Nothing    ' Release the object.

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有