Partager via


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 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 d'extension '<NomMéthode>' définie dans '<NomType>' à 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 extension method '<methodname>' defined in '<typename>' 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 (ou les) type(s) du (ou des) paramètre(s) de type lors d'un appel à une méthode d'extension générique. Le compilateur recherche plusieurs types de données possibles pour un ou plusieurs 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
Imports System.Runtime.CompilerServices
Module Module1
    Sub Main()

        Dim caller As New Class1
        '' Not valid.
        'caller.targetExtension(1, "2")

    End Sub

    <Extension()> _
    Sub targetExtension(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 : BC36655 (dans les requêtes LINQ) et BC36652 (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 (ou des) paramètre(s) de type :

    caller.targetExtension(Of Integer)(1, "2")
    caller.targetExtension(Of String)(1, "2")
    

Voir aussi

Concepts

Méthodes d'extension (Visual Basic)

Procédures génériques dans Visual Basic

Référence

Option Strict, instruction