O(s) tipo(s) de dados do(s) parâmetro(s) de tipo no método '<methodname>' não podem ser inferidos a partir desses argumentos porque mais de um tipo é possível

O(s) tipo(s) de dados do(s) parâmetro(s) de tipo no método '<methodname>' não podem ser inferidos a partir desses argumentos porque mais de um tipo é possível. Especificar explicitamente o(s) tipo(s) de dados pode corrigir esse erro.

Foi feita uma tentativa de usar a inferência de tipo para determinar o tipo ou tipos do parâmetro ou parâmetros de tipo em uma chamada para um procedimento genérico. O compilador encontra mais de um tipo de dados possível para um ou mais parâmetros de tipo e relata esse erro.

Nota

Quando a especificação de argumentos não é uma opção (por exemplo, para operadores de consulta em expressões de consulta), a mensagem de erro aparece sem a segunda frase.

O código a seguir demonstra o erro.

Option Strict Off
Module Module1
    Sub Main()
        '' Not valid.
        'targetMethod(1, "2")
    End Sub

    Sub targetMethod(Of T)(ByVal p1 As T, ByVal p2 As T)
    End Sub

End Module

ID de erro: BC36654 (dentro de consultas LINQ) e BC36651 (consultas externas)

Para corrigir este erro

Se o erro aparecer fora de uma consulta, tente especificar o tipo de dados do parâmetro type explicitamente:

targetMethod(Of Integer)(1, "2")

Consulte também