L'espressione di tipo '<typename1>' non può mai essere di tipo '<typename2>'

Un'espressione TypeOf...Is consente di eseguire il test di una variabile di riferimento a un oggetto in un tipo di dati che non può contenere.

In alcuni casi il compilatore può determinare che un test dell'espressione TypeOf...Is possa avere solo esito negativo, ad esempio se non esiste alcuna relazione di ereditarietà tra le due classi.

Il codice seguente può generare questo errore.

Dim refVar as System.Windows.Forms.Form

If TypeOf refVar Is System.Array

End If

Poiché Form e Array sono tipi completamente non correlati, il compilatore può determinare che l'espressione TypeOf...Is restituisca False per qualsiasi valore di refVar.

ID errore: BC31430

Per correggere l'errore

  • Eseguire il test della variabile di un tipo di dati realistico oppure rimuovere il test TypeOf...Is completamente.

Vedi anche