型 '<typename>' は、その中に入れ子にされた型から継承することはできません。

更新 : 2007 年 11 月

クラス定義またはインターフェイス定義に含まれている 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

Error ID: BC30908

このエラーを解決するには

  • 継承する型 (入れ子の外側の型) が内部の型を継承する必要がある場合は、内部の型を外部の型の外に移動します。

  • 内部の型を外部の型に入れ子にする必要がある場合は、外部の型は内部の型を継承できません。Inherits ステートメント を削除します。

参照

その他の技術情報

Visual Basic の継承