'MustOverride' tidak dapat ditentukan pada '<procedurename>' karena berada dalam tipe parsial yang dinyatakan 'NotInheritable' dalam definisi parsial lainnya

Prosedur atau properti dinyatakan sebagai MustOverride dalam kelas yang didefinisikan dalam beberapa deklarasi parsial, tetapi salah satu definisi parsial menentukan NotInheritable untuk kelas tersebut.

Ketika Anda membagi definisi kelas di antara beberapa deklarasi parsial, kompiler memperlakukan kelas sebagai penyatuan semua deklarasi parsialnya. Ini berlaku tidak hanya untuk anggota tetapi juga untuk implementasi, pewarisan, dan tingkat akses.

Untuk mengambil alih prosedur atau properti, kelas harus mewarisinya dari kelas dasar. Oleh karena itu, untuk menentukan MustOverride prosedur atau properti di kelas dasar, Anda harus menentukan MustInherit untuk kelas. Karena keduanya saling bertentangan, Anda tidak dapat menentukan keduanya MustInherit dan NotInheritable untuk kelas yang sama.

ID Kesalahan: BC30927

Untuk memperbaiki kesalahan ini

  • Jika properti atau prosedur harus ditimpa, maka hapus kata kunci NotInheritable dari deklarasi parsial tempat properti tersebut muncul.

  • Jika kelas harus NotInheritable, maka hapus kata kunci MustOverride dari prosedur atau properti. Anda tidak dapat mengambil alihnya karena Anda tidak dapat mewarisi kelas tersebut.

Lihat juga