Impossible de déduire le ou les types de données du ou des paramètres de type dans la méthode d'extension '<NomMéthode>' définie dans 'NomType' à partir de ces arguments, car ils ne sont pas convertis vers le même type
Mise à jour : novembre 2007
Message d'erreur
Impossible de déduire le ou les types de données du ou des paramètres de type dans la méthode d'extension '<nomméthode>' définie dans 'nomtype' à partir de ces arguments, car ils ne sont pas convertis vers le même type. La spécification explicite du ou des types de données peut permettre de corriger cette erreur.
Data type(s) of the type parameter(s) in extension method '<methodname>' defined in 'typename' cannot be inferred from these arguments because they do not convert to the same type. Specifying the data type(s) explicitly might correct this error.
Tentative d'utilisation de l'inférence de type pour déterminer le ou les types de données du ou des paramètres de type lors de l'évaluation d'un appel à une méthode d'extension générique. Le compilateur n'a pas pu trouver le type de données qui répond aux contraintes de tous les arguments. Par conséquent, il a signalé cette erreur.
![]() |
---|
Lorsque la spécification d'arguments n'est pas une option (par exemple, pour les opérateurs de requête dans les expressions de requête), le message d'erreur apparaît sans la deuxième phrase. |
Le code suivant illustre cette erreur.
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 d'erreur : BC36661 et BC36658
Pour corriger cette erreur
Vous pouvez convertir explicitement un ou plusieurs arguments en un type compatible, comme illustré dans le code suivant :
c1.targetMethod(19, #3/4/2007#.ToOADate)
Vous pouvez spécifier un type de données pour le ou les paramètres de type vers lesquels les arguments sont convertis, comme illustré dans le code suivant :
c1.targetMethod(Of String)(19, #3/4/2007#)
Voir aussi
Concepts
Méthodes d'extension (Visual Basic)
Conversion simplifiée des délégués
Procédures génériques dans Visual Basic
Conversions implicites et explicites
Référence
Fonctions de conversion de types de données