Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Tipos de dados dos parâmetros de tipo no método de extensão '<methodname>' definidos em 'typename' não podem ser inferidos destes argumentos porque eles não convertem para o mesmo tipo. Especificar os tipos de dados explicitamente pode corrigir esse erro.
Foi feita uma tentativa de usar a inferência de tipos para determinar o tipo (ou tipos) de dados do parâmetro (ou parâmetros) de tipo ao avaliar uma chamada para um método de extensão genérico. O compilador não conseguiu encontrar um tipo de dados que atenda às restrições de todos os argumentos. Portanto, ele relatou esse erro.
Observação
Quando não é possível especificar argumentos (por exemplo, para operadores de consulta em expressões de consulta), a mensagem de erro é exibida sem a segunda frase.
O código a seguir demonstra o erro.
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 do Erro: BC36661 e BC36658
Para corrigir este erro
Você pode ser capaz de converter um ou mais argumentos explicitamente em um tipo compatível, conforme mostrado no seguinte código:
c1.targetMethod(19, #3/4/2007#.ToOADate)Você pode ser capaz de especificar um tipo de dados para o parâmetro parâmetros de tipo ou aos quais os argumentos são convertidos, conforme mostrado no seguinte código:
c1.targetMethod(Of String)(19, #3/4/2007#)