Freigeben über


Die Datentypen der Typparameter in der '<Methodenname>'-Methode können nicht von diesen Argumenten abgeleitet werden, da mehrere Typen möglich sind

Aktualisiert: November 2007

Fehlermeldung

Die Datentypen der Typparameter in der <Methodenname>-Methode können nicht von diesen Argumenten abgeleitet werden, da mehrere Typen möglich sind. Sie können diesen Fehler möglicherweise beheben, indem Sie die Datentypen explizit angeben.
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.

Es wurde versucht, in einem Aufruf einer generischen Prozedur mithilfe von Typrückschluss die Typen der Typparameter zu bestimmen. Der Compiler findet mehrere mögliche Datentypen für mindestens einen der Typparameter und meldet diesen Fehler.

Hinweis:

Wenn Argumente nicht angegeben werden können (z. B. von Abfrageoperatoren in Abfrageausdrücken), wird der zweite Satz der Fehlermeldung nicht angezeigt.

Der folgende Code veranschaulicht den Fehler.

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

Fehler-ID: BC36654 (in LINQ-Abfragen) und BC36651 (außerhalb von Abfragen)

So beheben Sie diesen Fehler

  • Wenn der Fehler außerhalb einer Abfrage angezeigt wird, versuchen Sie, den Datentyp der Typparameter explizit festzulegen:

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

Siehe auch

Konzepte

Generische Prozeduren in Visual Basic

Referenz

Option Strict-Anweisung