Impossibile dedurre da questi argomenti i tipi di dati dei parametri di tipo nel metodo di estensione '<methodname>' definito in '<typename>' perché sono possibili più tipi

Impossibile dedurre da questi argomenti i tipi di dati dei parametri di tipo nel metodo di estensione '<methodname>' definito in '<typename>' perché sono possibili più tipi. 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 rileva più tipi di dati per uno o più parametri di tipo e genera 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
Imports System.Runtime.CompilerServices
Module Module1
    Sub Main()

        Dim caller As New Class1
        '' Not valid.
        'caller.targetExtension(1, "2")

    End Sub

    <Extension()> _
    Sub targetExtension(Of T)(ByVal p0 As Class1, ByVal p1 As T, ByVal p2 As T)
    End Sub

    Class Class1
    End Class

End Module

ID errore: BC36655 (all'interno delle query LINQ) e BC36652 (all'esterno delle query)

Per correggere l'errore

Se l'errore viene visualizzato al di fuori di una query, provare a specificare il tipo di dati del parametro o dei parametri di tipo in modo esplicito:

caller.targetExtension(Of Integer)(1, "2")
caller.targetExtension(Of String)(1, "2")

Vedi anche