Freigeben über


Der Ausdruck vom Typ '<Typname1>' kann nie vom Typ '<Typname2>' sein

Aktualisiert: November 2007

Expression of type '<typename1>' can never be of type '<typename2>'

Ein TypeOf...Is-Ausdruck testet eine Objektverweisvariable auf einen Datentyp, den diese nicht enthalten kann.

In einigen Fällen kann der Compiler bestimmen, dass ein TypeOf...Is-Test nur fehlschlagen kann. Dies ist z. B. der Fall, wenn zwischen zwei Klassen keine Vererbungsbeziehung besteht.

Dieser Fehler kann durch folgenden Code generiert werden.

Dim refVar as System.Windows.Forms.Form

If TypeOf refVar Is System.Array

End If

Da Form und Array zwei Typen ohne jegliche Beziehung zueinander sind, kann der Compiler bestimmen, dass der TypeOf...Is-Ausdruck False für jeden Wert von refVar zurückgibt.

Fehler-ID: BC31430

So beheben Sie diesen Fehler

  • Testen Sie die Variable auf einen realistischen Datentyp, oder entfernen Sie den ganzen TypeOf...Is-Test.

Siehe auch

Aufgaben

Gewusst wie: Bestimmen des Typs, auf den eine Objektvariable verweist

Referenz

TypeOf-Operator (Visual Basic)