'<genericprocedurename' için '<typeparametername>>' tür parametresi çıkarılamaz

Tür bağımsız değişkeni listesi sağlanmadan genel bir yordam çağrılır ve tür bağımsız değişkenlerinden biri için tür çıkarımı başarısız olur.

Genel bir yordamı çağırdığınızda, normalde yordam tarafından tanımlanan her tür parametresi için bir tür bağımsız değişkeni belirtirsiniz. Ancak, tür bağımsız değişken listesini tamamen atlama alternatifi vardır. Bunu yaptığınızda, derleyici çağrınızın bağlamından her tür bağımsız değişkeninin türünü çıkarsamaya çalışır. Daha fazla bilgi için Visual Basic'teki Genel Yordamlar'daki "Tür Çıkarımı" bölümüne bakın.

Tür çıkarımı hatasının olası nedenlerinden biri, tür parametresi ile çağrı türü arasındaki derece uyuşmazlığıdır. Aşağıdaki kodda bu gösterilir.

Public Sub displayLargest(Of t As IComparable)(ByVal arg() As t)  
    ' Insert code to find and display the largest element of arg().  
End Sub  
Public Sub callGenericSub()  
    Dim testValue As Integer  
    findLargest(testValue)  
    Dim testMatrix(,) As Integer  
    findLargest(testMatrix)  
End Sub  

Yukarıdaki kodda, tür parametresi t tek boyutlu bir dizi çağırdığı için her iki çağrısı findLargest da bu hatayı oluştururken, derleyicinin çağrılardan çıkardığı tür bağımsız değişkenleri bir skaler (testValue) ve iki boyutlu bir dizidir (testMatrix).

Hata Kimliği: BC32050

Bu hatayı düzeltmek için

  • Normal bağımsız değişken türlerinin tür çıkarımının genel yordam için bildirilen tür parametreleriyle tutarlı olduğundan emin olun.

    -veya-

  • Tür çıkarımı gerekmemesi için tam tür bağımsız değişken listesiyle genel yordamı çağırın.

Ayrıca bkz.