Udostępnij za pośrednictwem


Jak: dostęp do zmiennej ukryte w klasie pochodnej (Visual Basic)

Gdy kod w klasie pochodnej uzyskuje dostęp do zmiennej, kompilator zwykle rozwiązuje odniesienie do najbliższej dostępnej wersji, oznacza to, że udostępniona wersja najmniejszą derivational kroki wstecz z dostępu do klasy.Jeśli zmienna jest zdefiniowana w klasie pochodnej, kod normalnie dostęp do tej definicji.

Jeśli zmienna klasy pochodnej cieni zmiennej w klasie bazowej, ukrywa wersji klasy podstawowej.Jednak uzyskać dostęp zmienna klasa bazowa przez kwalifikujących się on z MyBase słowa kluczowego.

Uzyskać dostęp do zmiennej klasy podstawowej, ukryte na skutek klasy pochodne

  • W wyrażeniu lub instrukcji przypisania, należy poprzedzić nazwę zmiennej MyBase słowa kluczowego i okres (.).

    Kompilator usuwa odwołanie do klasy podstawowej wersji zmiennej.

    Poniższy przykład ilustruje przesłanianie poprzez dziedziczenie.Powoduje to dwa odniesienia, jedną, który uzyskuje dostęp do zmiennej przesłaniania i jedną, która pomija przesłanianie.

    Public Class shadowBaseClass
        Public shadowString As String = "This is the base class string."
    End Class
    Public Class shadowDerivedClass
        Inherits shadowBaseClass
        Public Shadows shadowString As String = "This is the derived class string."
        Public Sub showStrings()
            Dim s As String = "Unqualified shadowString: " & shadowString &
                vbCrLf & "MyBase.shadowString: " & MyBase.shadowString
            MsgBox(s)
        End Sub
    End Class
    

    Poprzedni przykład deklaruje zmienną shadowString w klasie bazowej i cieni ją w klasie pochodnej.Procedura showStrings w klasie pochodnej Wyświetla przesłaniania wersji łańcucha po nazwę shadowString nie kwalifikuje się.Następnie wyświetla tekst z cieniem wersji podczas shadowString jest kwalifikowaną z MyBase słowa kluczowego.

Stabilne programowanie

Aby zmniejszyć ryzyko odnoszące się do niezamierzonego wersję zmiennej cieniem, można pełni kwalifikują się wszystkie odwołania do zmiennej cieniowany.Przesłanianie wprowadzono więcej niż jedną wersję zmiennej o tej samej nazwie.Instrukcję kodu odnosi się do nazwy zmiennej, wersji, do których kompilator usuwa odwołanie, zależy od czynników, takich jak położenie instrukcji kodu i obecność dostosowywanego ciąg.Może to zwiększyć ryzyko odnoszące się do niewłaściwej wersji zmiennej.

Zobacz też

Zadania

Jak: ukrywanie zmiennej z taką samą nazwę jak zmienna (Visual Basic)

Jak: ukrywanie zmiennej dziedziczone (Visual Basic)

Informacje

Cienie (Visual Basic)

Zastępuje (Visual Basic)

Koncepcje

Odniesienia do zadeklarowanych elementów (Visual Basic)

Cieniowanie w języku Visual Basic

Różnice między cieniowanie i przesłanianie (Visual Basic)

Me, My, MyBase i MojaKlasa w języku Visual Basic

Dziedziczenie podstawy (Visual Basic)