型 '<internaltypename>' のアクセスを <領域> '<regionname>' へ展開しているため、'<derivedtypename>' は <型> '<constructedbasetypename>' から継承できません。
更新 : 2007 年 11 月
派生クラスまたは派生インターフェイスが、内部型を基本クラスまたは基本インターフェイスへの型引数として使用することにより、内部型のアクセス レベルを拡張しようとしています。
このエラーは次のようなコードで発生します。
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 は、internalStructure を型引数として使用する場合、baseClass を継承できません。これを認めると、コードを定義する領域全体に internalStructure が公開されることになるからです。
Error ID: BC30921
このエラーを解決するには
クラスまたはインターフェイスのアクセス レベルを調整して、派生型が内部型のアクセス レベルを拡張しないようにします。
または
アクセス レベルを調整できない場合は、基本クラスまたは基本インターフェイスを作成するときに内部型を型引数として使用しないでください。