Typ '<Typname>' kann nicht von einem in ihr bzw. ihm geschachtelten Typ erben

Aktualisiert: November 2007

Type '<typename>' cannot inherit from a type nested within it

Eine Definition einer Klasse oder Schnittstelle enthält eine Inherits-Anweisung, die einen Typ angibt, der in der Klasse bzw. Schnittstelle geschachtelt ist.

Vererbung muss linear und darf nicht zirkulär erfolgen. Ein Typ kann nicht von einem Typ erben, der von dem erbenden Typ erbt.

Als verwandte Beschränkung gilt, dass ein Typ nicht von einem Typ erben kann, der noch nicht definiert ist. Ein Merkmal von Vererbung ist die Fähigkeit, Member der Basisklasse wiederzuverwenden. Dies erfordert, dass diese Member definiert sind. Daher kann Visual Basic Code wie im folgenden Beispiel nicht kompilieren.

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

Fehler-ID: BC30908

So beheben Sie diesen Fehler

  • Wenn der erbende Typ (der in der Schachtelung äußere Typ) vom inneren Typ erben muss, verschieben Sie den inneren Typ auf eine Schachtelungsebene außerhalb des äußeren Typs.

  • Wenn der innere Typ im äußeren Typ geschachtelt sein muss, kann der äußere Typ nicht vom inneren Typ erben. Entfernen Sie die Inherits-Anweisung.

Siehe auch

Weitere Ressourcen

Vererbung in Visual Basic