'<derivedtypename>' tidak dapat mewarisi dari <type> '<constructedbasetypename>' karena memperluas akses jenis '<internaltypename>' ke <region> '<regionname>'

Kelas atau antarmuka turunan mencoba memperluas tingkat akses jenis internal dengan menggunakannya sebagai argumen jenis ke kelas atau antarmuka dasar.

Kode berikut dapat menghasilkan kesalahan ini.

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  

Kode di luar containingClass tidak diizinkan untuk mengakses internalStructure. Namun, derivedClass dapat diakses dari kode apa pun dalam rakitan yang sama. Oleh karena itu, derivedClass tidak dapat mewarisi baseClass jika menggunakan internalStructure, karena dapat mengekspos internalStructure di seluruh wilayah kode yang menentukan.

ID Kesalahan: BC30921

Untuk memperbaiki kesalahan ini

  • Sesuaikan tingkat akses kelas atau antarmuka sehingga jenis turunan tidak memperluas tingkat akses jenis internal.

    -atau-

  • Jika Anda tidak dapat menyesuaikan tingkat akses, jangan gunakan jenis internal sebagai argumen jenis saat membuat kelas dasar atau antarmuka.

Lihat juga