类型“<typename1>”的表达式永远不能为类型“<typename2>”

更新:2007 年 11 月

TypeOf...Is 表达式会对属于它不能包含的数据类型的对象引用变量进行测试。

在某些情况下(例如,两个类之间不存在任何继承关系),编译器可以确定 TypeOf...Is 测试一定会失败。

以下代码可以生成此错误。

Dim refVar as System.Windows.Forms.Form

If TypeOf refVar Is System.Array

End If

因为 FormArray 是完全不相关的类型,所以编译器可以确定,对于 refVar 的任何值,TypeOf...Is 表达式都会返回 False。

**错误 ID:**BC31430

更正此错误

  • 测试实际数据类型的变量,或将 TypeOf...Is 测试完全移除。

请参见

任务

如何:确定对象变量引用的类型

参考

TypeOf 运算符 (Visual Basic)