Impossible de déduire le ou les types de données du ou des paramètres de type dans la méthode '<NomMéthode>' à partir de ces arguments, car plusieurs types sont possibles

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 '<NomMéthode>' à partir de ces arguments, car plusieurs types sont possibles. La spécification explicite du ou des types de données peut corriger cette erreur.
Data type(s) of the type parameter(s) in method '<methodname>' cannot be inferred from these arguments because more than one type is possible. Specifying the data type(s) explicitly might correct this error.

Tentative d'utilisation de l'inférence de type pour déterminer le type ou les types du ou des paramètres de type lors d'un appel à une procédure générique. Le compilateur recherche plusieurs types de données possibles pour l'un ou plusieurs des paramètres de type, et il signale cette erreur.

Remarque :

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 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 d'erreur : BC36654 (dans les requêtes LINQ) et BC36651 (hors des requêtes)

Pour corriger cette erreur

  • Si l'erreur apparaît hors d'une requête, essayez de spécifier explicitement le type de données du paramètre de type :

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

Voir aussi

Concepts

Procédures génériques dans Visual Basic

Référence

Option Strict, instruction