您可以使用一般指派語句,將物件指派給物件變數。 您可以指派對象表達式或 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 關鍵詞在宣告中包含初始化。 下列宣告語句會宣告物件變數 testUri ,並將 ver 特定物件指派給他們。 每個都會使用適當類別的其中一個多載建構函式來初始化物件。
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 可做為參考目前實例的物件變數。 如果程式不是 Shared,它可以使用 Me 關鍵詞來取得目前實例的指標。 共用程式無法與類別的特定實例相關聯。
使用 Me 特別適合將目前的實例傳遞至另一個模組中的程式。 例如,假設您有一些 XML 檔,並想要將一些標準文字新增至其中所有檔。 下列範例會定義執行這項作業的程式。
Sub addStandardText(XmlDoc As System.Xml.XmlDocument)
XmlDoc.CreateTextNode("This text goes into every XML document.")
End Sub
然後,每個 XML 檔物件都可以呼叫程式,並將其目前的實例當做自變數傳遞。 下列範例示範此作業。
addStandardText(Me)