El tipo '<typename>' no puede heredar de un tipo anidado en este

Una definición de clase o interfaz incluye Inherits Statement que especifica un tipo anidado en este.

La herencia debe ser lineal, no circular. Un tipo no puede heredar de un tipo que herede de este.

Una restricción relacionada es que un tipo no puede heredar de un tipo que todavía no está definido. La herencia implica la capacidad de volver a usar los miembros de la clase base, lo que a su vez requiere que estos miembros estén definidos. Por lo tanto, Visual Basic no puede compilar código como el del siguiente ejemplo.

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  

Identificador de error: BC30908

Para corregir este error

  • Si el tipo que hereda (el tipo externo del anidamiento) debe heredar del tipo interno, mueva el tipo interno al tipo externo.

  • Si el tipo interno debe estar anidado dentro del tipo externo, el tipo externo no puede heredar de este. Quite Inherits Statement.

Consulte también