Поделиться через


Тип <имяТипа> не может наследовать вложенный в него тип

Обновлен: Ноябрь 2007

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

Определение класса или интерфейса включает оператор Инструкция Inherits, который указывает на вложенный в него тип.

Наследование должно быть линейным, а не циклическим. Тип не может наследовать от типа, который наследует от него.

Связанное ограничение — это то, что тип не может наследовать от типа, который еще не определен. Наследование включает возможность повторного использования компонентов базового класса, что, в свою очередь, требует определения компонентов. Таким образом, проекту Visual Basic не удается скомпилировать код, как в следующем примере.

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

Идентификатор ошибки: BC30908

Для исправления этой ошибки выполните следующие действия:

  • Если наследуемый тип (внешний тип во вложениях) должен наследоваться из внутреннего типа, переместите внутренний тип из внешнего типа.

  • Если внутренний тип должен быть вложенным внутри внешнего типа, внешний тип не может наследовать от него. Удалите Инструкция Inherits.

См. также

Другие ресурсы

Наследование в Visual Basic