Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los tipos de datos de los parámetros de tipo del método de extensión '<methodname>' definidos en 'typename' no se pueden inferir de estos argumentos porque no se convierten en el mismo tipo. Especificar los tipos de datos explícitamente puede corregir este error.
Se ha intentado usar la inferencia de tipo para determinar el tipo (o tipos) de datos del parámetro (o parámetros) de tipo al evaluar una llamada a un método de extensión genérico. El compilador no pudo encontrar un tipo de datos que cumpliera las restricciones de todos los argumentos. Por lo tanto, informa de este error.
Nota
Al especificar argumentos no es una opción (por ejemplo, para operadores de consulta en expresiones de consulta), el mensaje de error aparece sin la segunda oración.
El código siguiente muestra el error.
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
Identificador de error: BC36661 y BC36658
Para corregir este error
Puede convertir uno o más argumentos de manera explícita a un tipo compatible, como se muestra en el código siguiente:
c1.targetMethod(19, #3/4/2007#.ToOADate)Es posible que pueda especificar un tipo de datos para el parámetro de tipo o los parámetros en los que convertir los argumentos, como se muestra en el código siguiente:
c1.targetMethod(Of String)(19, #3/4/2007#)