型 '<typename1>' の式を型 '<typename2>' にすることはできません。

更新 : 2007 年 11 月

TypeOf...Is 式は、保持できないデータ型へのオブジェクト参照変数をテストします。

いくつかの場合において、コンパイラは、TypeOf...Is テストが必ず失敗すると判断できます。たとえば、2 つのクラス間に継承関係がないなどの場合です。

このエラーは次のようなコードで発生します。

Dim refVar as System.Windows.Forms.Form

If TypeOf refVar Is System.Array

End If

これは、Form および Array は、まったく関係のない型なので、コンパイラは、refVar がどんな値であっても TypeOf...Is 式が False を返すと判断できるからです。

Error ID: BC31430

このエラーを解決するには

  • 実際に使用できるデータ型の変数をテストするか、TypeOf...Is テストをすべて削除します。

参照

処理手順

方法 : オブジェクト変数で参照している型を確認する

参照

TypeOf 演算子 (Visual Basic)