Sdílet prostřednictvím


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)

Viz také