物件變數指派 (Visual Basic)

您可以使用一般指派陳述式,將物件指派給物件變數。 您可以指派物件運算式或 Nothing 關鍵字,如下列範例所示。

Dim thisObject As Object
' The following statement assigns an object reference.
thisObject = Form1
' The following statement discontinues association with any object.
thisObject = Nothing

Nothing 表示目前沒有物件指派給變數。

初始化

程式碼開始執行時,您的物件變數會初始化為 Nothing。 宣告內容包含初始化的項目會重新初始化為宣告陳述式執行時所指定的值。

您可以使用 New 關鍵字將初始化加入宣告。 下列宣告陳述式會宣告物件變數 testUriver,並將特定物件指派給它們。 它們個別都會使用適當類別的其中一個多載建構函式來初始化物件。

Dim testUri As New System.Uri("https://www.microsoft.com")
Dim ver As New System.Version(6, 1, 0)

解除關聯

將物件變數設為 Nothing,會中止變數與任何特定物件的關聯。 這麼做可防止變更變數造成意外變更物件。 它也可讓您測試物件變數是否指向有效物件,如下列範例所示。

If otherObject IsNot Nothing Then
    ' otherObject refers to a valid object, so your code can use it.
End If

如果變數參考的物件位於其他應用程式,則這項測試無法判斷該應用程式是否已終止或只是使物件失效。

物件變數的值為 Nothing 時也稱為「Null 參考」

目前執行個體

物件的「目前執行個體」是指目前正在執行程式碼的執行個體。 由於所有程式碼都會在程序內執行,因此目前執行個體就是存在已叫用的程序中的執行個體。

Me 關鍵字可當作參考目前執行個體的物件變數。 如果程序不是共用,則可以使用 Me 關鍵字來取得目前執行個體的指標。 共用程序無法與類別的特定執行個體建立關聯。

將目前執行個體傳遞至其他模組的程序時,Me 尤其實用。 舉例來說,假設您有一系列 XML 文件,且想要全部新增某些標準文字。 下列範例定義了執行這項作業的程序。

Sub addStandardText(XmlDoc As System.Xml.XmlDocument)
    XmlDoc.CreateTextNode("This text goes into every XML document.")
End Sub

每個 XML 文件物件因此都可以呼叫程序,並將目前執行個體當做引數來傳遞。 下列範例示範此作業。

addStandardText(Me)

另請參閱