Freigeben über


In Ausdrücken für Select- oder Case-Anweisungen werden Operanden vom Typ "Object" verwendet. Dies kann Laufzeitfehler verursachen

Aktualisiert: November 2007

Operands of type Object used in expressions for 'Select', 'Case' statements; runtime errors could occur

In einer Select...Case-Konstruktion werden ein oder mehrere Ausdrücke vom Object-Datentyp verwendet.

Wenn eine Variable oder ein Ausdruck Object ergibt, muss der Compiler eine späte Bindung ausführen, die zusätzliche Operationen zur Laufzeit verursacht. Dies kann außerdem zum Auftreten von Laufzeitfehlern in der Anwendung führen. Wenn Sie beispielsweise einer Object-Variablen ein Form zuweisen und anschließend die Variable mit einer Zahl zu vergleichen versuchen, löst die Laufzeitumgebung eine InvalidCastException aus, weil Visual Basic ein Form-Objekt nicht in einen numerischen Wert konvertieren kann.

Die Ausdrücke in einer Select...Case-Konstruktion müssen alle denselben Datentyp oder eng verwandte Datentypen aufweisen, die untereinander konvertiert werden können. Der Grund für diese Anforderung ist, dass jede Case-Anweisung mindestens einen Wert mit dem Testausdruck vergleicht, auf dem die Select...Case-Konstruktion beruht.

Standardmäßig ist diese Meldung eine Warnung. Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC42036

So beheben Sie diesen Fehler

  • Legen Sie nach Möglichkeit alle Ausdrücke so fest, dass sie Datentypen ergeben, für die Vergleichsoperatoren definiert sind.

Siehe auch

Konzepte

Arithmetische Operatoren in Visual Basic

Vergleichsoperatoren in Visual Basic

Referenz

Select...Case-Anweisung (Visual Basic)