'<派生型名>' は型 '<内部型名>' のアクセスをアセンブリの外側に展開しているため、<型> '<構築された基本データ型名>' から継承することはできません

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

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

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

アセンブリの外部のコードが restrictedStructureにアクセスすることはできません。 ただし、 derivedClass には、それを参照できるすべてのコードからアクセスできます。 そのため、任意のアセンブリのコードに derivedClass が公開される可能性があるので、 baseClass を型引数として使用する場合、 restrictedStructurerestrictedStructure を継承できません。

エラー ID: BC30922

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

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

    または

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

関連項目