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

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile dedurre da questi argomenti i tipi di dati dei parametri di tipo nel metodo di estensione '<nomemetodo>' definito in 'nometipo' perché non vengono convertiti nello stesso tipo. L'errore potrebbe essere corretto specificando i tipi di dati in modo esplicito.
Data type(s) of the type parameter(s) in extension method '<methodname>' defined in 'typename' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.

Si è tentato di utilizzare l'inferenza dei tipi 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 è stato in grado di individuare un tipo di dati che soddisfi i vincoli di tutti gli argomenti segnalando pertanto questo errore.

Nota:

Quando è obbligatorio specificare gli argomenti, ad esempio per gli operatori di query nelle espressioni di query, il messaggio di errore viene visualizzato senza la seconda frase.

L'errore viene illustrato nel codice riportato di seguito.

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

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

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

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

Vedere anche

Concetti

Metodi di estensione (Visual Basic)

Conversione di tipo relaxed del delegato

Routine generiche in Visual Basic

Conversioni implicite ed esplicite

Riferimenti

Funzioni di conversione del tipo

Altre risorse

Conversioni di tipi in Visual Basic