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

Eine Select...Case -Konstruktion verwendet einen oder mehrere Ausdrücke des Object Data Type.

Wenn eine Variable oder ein Ausdruck Objectergibt, muss der Compiler die späte Bindungdurchführen, die zur Laufzeit zusätzliche Vorgänge verursacht. Sie setzt die Anwendung zudem möglichen Laufzeitfehlern aus. Wenn Sie z. B. ein Form einer Object -Variablen zuweisen und es dann mit einer Zahl vergleichen, löst die Laufzeit eine InvalidCastException aus, da Visual Basic ein Form -Objekt nicht in einen numerischen Wert konvertieren kann.

Die Ausdrücke in einer Select...Case -Konstruktion sollten alle denselben Datentyp oder eng verbundene Datentypen verwenden, die untereinander konvertiert werden können. Der Grund hierfür ist, dass jede Case -Anweisung mindestens einen Wert mit dem Testausdruck vergleicht, auf dem die Select...Case -Konstruktion basiert.

Standardmäßig ist diese Meldung eine Warnung. Informationen zum Ausblenden von Warnungen oder zum Behandeln von Warnungen als Fehler finden Sie unter Configuring Warnings in Visual Basic.

Fehler-ID: BC42036

So beheben Sie diesen Fehler

  • Ordnen Sie nach Möglichkeit alle auszuwertenden Ausdrücke zu Datentypen zu, für die Vergleichsoperatoren definiert sind.

Siehe auch