Partilhar via


Dados dos parâmetros de tipo no método '<methodname>' não não possível inferir os tipos de com esses argumentos porque eles não são convertidos para o mesmo tipo de base

Mensagem de erro

Não dados dos parâmetros de tipo no método '<methodname>' é possível inferir os tipos com nesses argumentos porque eles não são convertidos para o mesmo tipo.Especificando os dados tipos explicitamente podem corrigir esse erro.

Foi feita uma tentativa de usar inferência de tipos de tipos para determinar o tipo de dados ou tipos de parâmetro de tipo ou parâmetros ao avaliar uma telefonar para um procedimento genérico.O compilador não foi possível encontrar um tipo de dados que satisfaça as restrições de todos os argumentos.Portanto, ele relatado que esse erro.

Observação:

Quando especificar 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 sentença.

O código a seguir demonstra o erro.

Option Strict Off
Module Module1
    Sub Main()

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

    End Sub


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

End Module

ID de erro: BC36660 e BC36657

Para corrigir este erro

  • Você poderá converter um ou mais argumentos explicitamente em um tipo compatível, sistema autônomo mostra o código a seguir:

    targetMethod(19, #3/4/2007#.ToOADate)
    
  • É possível especificar um tipo de dados para o parâmetro de tipo ou parâmetros para a qual converter sistema autônomo argumentos, sistema autônomo mostra o código a seguir:

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

Consulte também

Conceitos

Procedimentos Genéricos em Visual Basic

Conversões explícita e implícita 

Referência

Funções de conversão de tipo 

Outros recursos

Conversões de Tipo no Visual Basic