'typename' içinde tanımlanan '<methodname>' uzantı yöntemindeki tür parametrelerinin veri türleri, aynı türe dönüştürülmediğinden bu bağımsız değişkenlerden çıkarılamaz

'typename' içinde tanımlanan '<methodname>' uzantı yöntemindeki tür parametrelerinin veri türleri, aynı türe dönüştürülmediğinden bu bağımsız değişkenlerden çıkarılamaz. Veri türlerinin açıkça belirtilmesi bu hatayı düzeltebilir.

Genel bir uzantı yöntemine yapılan çağrı değerlendirilirken tür parametresinin (veya parametrelerinin) veri türünü (veya türlerini) belirlemek için tür çıkarımını kullanma girişiminde bulunuldu. Derleyici, tüm bağımsız değişkenlerin kısıtlamalarını karşılayan bir veri türü bulamadı. Bu nedenle, bu hatayı bildirdi.

Not

Bağımsız değişkenlerin belirtilmesi bir seçenek olmadığında (örneğin, sorgu ifadelerindeki sorgu işleçleri için), ikinci tümce olmadan hata iletisi görüntülenir.

Aşağıdaki kod hatayı gösterir.

Option Strict Off
Module Module3
    Sub Main()

        Dim c1 As New Class1

        '' Not valid. Integer and Date do not convert to the same type.
        'c1.targetMethod(19, #3/4/2007#)

    End Sub

    <System.Runtime.CompilerServices.Extension()> _
    Sub targetMethod(Of T)(ByVal p0 As Class1, ByVal p1 As T, ByVal p2 As T)
    End Sub

    Class Class1
    End Class

End Module

Hata Kimliği: BC36661 ve BC36658

Bu hatayı düzeltmek için

  • Aşağıdaki kodda gösterildiği gibi, bir veya daha fazla bağımsız değişkeni açıkça uyumlu bir türe dönüştürebilirsiniz:

    c1.targetMethod(19, #3/4/2007#.ToOADate)
    
  • Aşağıdaki kodda gösterildiği gibi, bağımsız değişkenlerin dönüştürüldüğü tür parametresi veya parametreleri için bir veri türü belirtebilirsiniz:

    c1.targetMethod(Of String)(19, #3/4/2007#)
    

Ayrıca bkz.