Megosztás a következőn keresztül:


Objektumváltozó-hozzárendelés (Visual Basic)

Egy normál hozzárendelési utasítással objektumot rendelhet egy objektumváltozóhoz. Hozzárendelhet objektumkifejezést vagy a Semmi kulcsszót az alábbi példában látható módon.

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

Nothing azt jelenti, hogy jelenleg nincs hozzárendelve objektum a változóhoz.

Inicializálás

Amikor a kód elkezd futni, az objektumváltozók inicializálása a következőre Nothingtörténik: . Azok, akiknek a deklarációi inicializálást is tartalmaznak, újrainicializálódnak a deklarációs utasítások végrehajtásakor megadott értékekre.

Az inicializálást az Új kulcsszóval is felveheti a deklarációba. Az alábbi deklarációs utasítások objektumváltozókat deklarálnak testUri , és ver adott objektumokat rendelnek hozzájuk. Mindegyik a megfelelő osztály egyik túlterhelt konstruktorát használja az objektum inicializálásához.

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

Disszociáció

Ha egy objektumváltozót úgy állít be, hogy Nothing megszünteti a változó társítását bármely adott objektummal. Ez megakadályozza, hogy véletlenül módosítsa az objektumot a változó módosításával. Azt is lehetővé teszi, hogy tesztelje, hogy az objektumváltozó érvényes objektumra mutat-e, ahogy az az alábbi példában látható.

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

Ha a változó által hivatkozott objektum egy másik alkalmazásban található, ez a teszt nem tudja megállapítani, hogy az alkalmazás leállt-e, vagy csak érvényteleníti-e az objektumot.

A null értékű Nothing objektumváltozót nullhivatkozásnak is nevezik.

Aktuális példány

Az objektum aktuális példánya az, amelyben a kód éppen fut. Mivel az összes kód egy eljáráson belül fut, az aktuális példány az, amelyben az eljárást meghívták.

A Me kulcsszó az aktuális példányra hivatkozó objektumváltozóként működik. Ha egy eljárás nincs megosztva, a Me kulcsszóval az aktuális példányra mutató mutatót kaphat. A megosztott eljárások nem társíthatók egy osztály adott példányához.

Me használata különösen hasznos, amikor egy másik modul eljárásának az aktuális példányt továbbítjuk. Tegyük fel például, hogy számos XML-dokumentummal rendelkezik, és mindegyikhez hozzá szeretne adni egy szabványos szöveget. Az alábbi példa egy ehhez szükséges eljárást határoz meg.

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

Ezután minden XML-dokumentumobjektum meghívhatja az eljárást, és argumentumként átadhatja az aktuális példányát. Az alábbi példa ezt mutatja be.

addStandardText(Me)

Lásd még