型 '<内部型名>' のアクセスを <領域> '<領域名>' へ展開しているため、'<派生型名>' は <型> '<構築された基本データ型名>' から継承できません

派生クラスまたはインターフェイスは、基底クラスまたはインターフェイスの型引数として使用することで、内部の型のアクセス レベルを拡張しようとしています。

次のコードでは、このエラーが生成される可能性があります。

Public Class containingClass  
    Public Class baseClass(Of t)  
    End Class  
    Friend Class derivedClass  
        Inherits baseClass(Of internalStructure)  
    End Class  
    Private Structure internalStructure  
        Dim firstMember As Integer  
    End Structure  
End Class  

containingClass の外部のコードは internalStructureにアクセスできません。 ただし、 derivedClass は、同じアセンブリ内のコードからアクセスできます。 そのため、定義コード領域全体で derivedClass が公開される可能性があるので、 baseClass を型引数として使用する場合、 internalStructureinternalStructure を継承できません。

エラー ID: BC30921

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

  • 派生型が内部の型のアクセス レベルを拡張しないように、クラスまたはインターフェイスのアクセス レベルを調整します。

    または

  • アクセス レベルを調整できない場合、基底クラスまたはインターフェイスを構築するときに、型引数として内部の型を使用しないでください。

関連項目