A expressão do tipo '<typename1>' nunca pode ser do tipo '<typename2>'

Uma expressão TypeOf...Is testa uma variável de referência de objeto para um tipo de dados que não pode conter.

Em alguns casos, o compilador pode determinar que um teste TypeOf...Is só pode falhar, por exemplo, se não houver nenhuma relação de herança entre duas classes.

O código a seguir pode gerar esse erro.

Dim refVar as System.Windows.Forms.Form

If TypeOf refVar Is System.Array

End If

Como Form e Array são tipos totalmente não relacionados, o compilador pode determinar que a expressão TypeOf...Is retorne False para qualquer valor de refVar.

ID do erro: BC31430

Para corrigir este erro

  • Teste a variável para um tipo de dados realista ou remova o teste TypeOf...Is completamente.

Confira também