Es kann kein gemeinsamer Typ für den ersten und zweiten Operanden des binären 'If'-Operators abgeleitet werden
Aktualisiert: November 2007
Fehlermeldung
Es kann kein gemeinsamer Typ für den ersten und zweiten Operanden des binären 'If'-Operators abgeleitet werden. Ein Operand muss über eine erweiternde Konvertierung auf den anderen verfügen.
Cannot infer a common type for the first and second operands of the binary 'If' operator. One must have a widening conversion to the other.
Der binäre If-Operator erfordert eine erweiternde Konvertierung zwischen einem der Argumente und dem anderen Argument. Da zwischen Integer und String in keiner Richtung eine erweiternde Konvertierung vorhanden ist, verursacht der folgende Code beispielsweise diesen Fehler.
Dim first? As Integer
Dim second As String = "First is Nothing"
'' Not valid.
' Console.WriteLine(If(first, second))
Fehler-ID: BC33110
So beheben Sie diesen Fehler
Stellen Sie eine explizite Konvertierung für einen der Operanden bereit, sofern im Code möglich.
Console.WriteLine(If(first, CInt(second)))
Schreiben Sie den Code mit einer anderen bedingten Konstruktion um.
If first IsNot Nothing Then Console.WriteLine(first) Else Console.WriteLine(second) End If
Siehe auch
Konzepte
Erweiternde und eingrenzende Konvertierungen