Non è possibile dedurre da questi argomenti i tipi di dati dei parametri di tipo nel metodo di estensione '<methodname>' definito in 'typename' perché non vengono convertiti nello stesso tipo

Non è possibile dedurre da questi argomenti i tipi di dati dei parametri di tipo nel metodo di estensione '<methodname>' definito in 'typename' perché non vengono convertiti nello stesso tipo. Per correggere l'errore, provare a specificare i tipi di dati in modo esplicito.

Si è provato a usare l'inferenza del tipo per determinare il tipo (o i tipi) di dati del parametro (o dei parametri) di tipo durante la valutazione di una chiamata a un metodo di estensione generico. Il compilatore non ha trovato un tipo di dati che soddisfi i vincoli di tutti gli argomenti. Di conseguenza, ha segnalato questo errore.

Nota

Quando non è possibile specificare gli argomenti (ad esempio per gli operatori di query nelle espressioni di query), il messaggio di errore visualizzato non contiene la seconda frase.

Il codice seguente illustra l'errore.

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

ID errore: BC36661 e BC36658

Per correggere l'errore

  • Potrebbe essere possibile convertire uno o più argomenti in modo esplicito in un tipo compatibile, come illustrato nel codice seguente:

    c1.targetMethod(19, #3/4/2007#.ToOADate)
    
  • Potrebbe essere possibile specificare un tipo di dati per il parametro o i parametri di tipo in cui vengono convertiti gli argomenti, come illustrato nel codice seguente:

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

Vedi anche