Přiřazení proměnné objektu (Visual Basic)
K přiřazení objektu k proměnné objektu použijete normální příkaz přiřazení. Můžete přiřadit výraz objektu nebo klíčové slovo Nothing , jak je znázorněno v následujícím příkladu.
Dim thisObject As Object
' The following statement assigns an object reference.
thisObject = Form1
' The following statement discontinues association with any object.
thisObject = Nothing
Nothing
znamená, že k proměnné není aktuálně přiřazen žádný objekt.
Inicializace
Po spuštění kódu se proměnné objektu inicializují do Nothing
. Ty, jejichž deklarace zahrnují inicializaci, jsou znovu inicializovány na hodnoty, které zadáte při spuštění deklarací příkazů.
Inicializaci můžete do deklarace zahrnout pomocí klíčového slova Nový . Následující příkazy deklarace deklarují proměnné testUri
objektů a ver
přiřazují jim konkrétní objekty. Každý používá jeden z přetížených konstruktorů příslušné třídy k inicializaci objektu.
Dim testUri As New System.Uri("https://www.microsoft.com")
Dim ver As New System.Version(6, 1, 0)
Zrušení přidružení
Nastavení proměnné objektu tak, aby Nothing
ukončilo přidružení proměnné k jakémukoli konkrétnímu objektu. Zabráníte tak náhodné změně objektu změnou proměnné. Umožňuje také otestovat, zda proměnná objektu odkazuje na platný objekt, jak ukazuje následující příklad.
If otherObject IsNot Nothing Then
' otherObject refers to a valid object, so your code can use it.
End If
Pokud objekt, na který proměnná odkazuje, je v jiné aplikaci, nemůže tento test určit, zda byla aplikace ukončena nebo právě zneplatněla objekt.
Proměnná objektu s hodnotou Nothing
je také označována jako nulový odkaz.
Aktuální instance
Aktuální instance objektu je instance , ve které je kód aktuálně spuštěn. Vzhledem k tomu, že se všechny kódy spouští uvnitř procedury, je aktuální instance ta, ve které byla procedura vyvolána.
Klíčové Me
slovo funguje jako proměnná objektu odkazující na aktuální instanci. Pokud není procedura Sdílena, může použít Me
klíčové slovo k získání ukazatele na aktuální instanci. Sdílené procedury nelze přidružit ke konkrétní instanci třídy.
Použití Me
je užitečné zejména pro předání aktuální instance do procedury v jiném modulu. Předpokládejme například, že máte řadu dokumentů XML a chcete do nich přidat standardní text. Následující příklad definuje postup, jak to provést.
Sub addStandardText(XmlDoc As System.Xml.XmlDocument)
XmlDoc.CreateTextNode("This text goes into every XML document.")
End Sub
Každý objekt dokumentu XML pak může volat proceduru a předat její aktuální instanci jako argument. Následující příklad ukazuje to.
addStandardText(Me)