Metode ekstensi '<methodname>' memiliki batasan jenis yang tidak pernah dapat dipenuhi

Parameter jenis metode ini berinteraksi dengan cara yang mencegahnya terpenuhi. Metode ekstensi berikut adalah contohnya.

'' Not valid.  
'<Extension()> _  
'Sub extensionExample(Of T As U, U)(ByVal para1 As T, ByVal para2 As U)  
'End Sub  

Karena metode ini adalah metode ekstensi, kompilator harus dapat menentukan jenis data atau jenis yang diperluas oleh metode hanya berdasarkan parameter pertama dalam deklarasi metode, para1, dan argumen yang dikirim untuk parameter tersebut. Apabila parameter pertama mengacu pada parameter jenis generik, para1 as T, batasan pada parameter generik membatasi kumpulan jenis yang diterapkan metode.

Penerapan metode ekstensi ditentukan dari argumen yang diberikan untuk parameter pertama, yakni arg1 dalam kode berikut.

'' Not valid.

'arg1.extensionExample(arg2)

Pasti memungkinkan untuk memverifikasi batasan pada semua parameter jenis generik yang disebutkan oleh parameter pertama, para1dengan hanya melihat argumen pertama, arg1. Pada extensionExample, kumpulan jenis yang diperluas tidak dapat ditentukan dari parameter pertama saja. Parameter jenisT dibatasi oleh parameter jenis U, yang tidak direferensikan oleh para1 dan tidak dapat disimpulkan dari arg1. Oleh karena itu, penerapan metode untuk jenis apa pun yang memungkinkan tidak dapat diverifikasi, dan metode itu tidak pernah dapat dipanggil.

ID Kesalahan: BC36561

Untuk memperbaiki kesalahan ini

  • Ubah deklarasi jenis untuk menghapus interdependensi antara jenis.

Lihat juga