Baca dalam bahasa Inggris

Bagikan melalui


'<derivedtypename>' tidak dapat mewarisi dari <tipe> '<constructedbasetypename>' karena memperluas akses jenis '<internaltypename>' di luar rakitan

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

Kode berikut dapat menghasilkan kesalahan ini.

VB
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  

Kode di luar rakitan tidak diizinkan untuk mengakses restrictedStructure. Namun, derivedClass dapat diakses dari kode apa pun yang dapat mereferensikannya. Oleh karena itu, derivedClass tidak dapat mewarisi baseClass jika menggunakan restrictedStructure sebagai argumen jenis, karena itu dapat mengekspos restrictedStructure ke kode dalam rakitan apa pun.

ID Kesalahan: BC30922

Untuk memperbaiki kesalahan ini

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

    -atau-

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

Lihat juga