Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Typ "<typename>" nie może dziedziczyć z typu zagnieżdżonego w nim

Definicja klasy lub interfejsu zawiera instrukcję Dziedzicz, która określa typ zagnieżdżony w nim.

Dziedziczenie musi być liniowe, a nie cykliczne. Typ nie może dziedziczyć z typu dziedziczonego po nim.

Powiązane ograniczenie polega na tym, że typ nie może dziedziczyć z typu, który nie jest jeszcze zdefiniowany. Dziedziczenie obejmuje możliwość ponownego użycia składowych klasy bazowej, co z kolei wymaga zdefiniowania tych elementów członkowskich. W związku z tym program Visual Basic nie może skompilować kodu, takiego jak poniższy przykład.

Public Class outerClass  
    ' The following statement is INVALID because innerClass is not defined.  
    Inherits innerClass  
    Public Class innerClass  
        Public Sub doSomething()  
        End Sub  
    End Class  
End Class  

Identyfikator błędu: BC30908

Aby poprawić ten błąd

  • Jeśli typ dziedziczący (typ zewnętrzny w zagnieżdżaniu) musi dziedziczyć z typu wewnętrznego, przenieś typ wewnętrzny z typu zewnętrznego.

  • Jeśli typ wewnętrzny musi być zagnieżdżony w typie zewnętrznym, typ zewnętrzny nie może dziedziczyć z niego. Usuń instrukcję Inherits.

Zobacz też