对象变量包含一个指针,它指向存储在其他位置的数据。 该数据的类型可在运行时更改。 任何时候,都可以使用 GetTypeCode 方法确定当前运行时类型,或者使用 TypeOf 运算符 (Visual Basic) 检查当前运行时类型是否与指定类型兼容。
确定对象变量当前引用的精确类型
- 在对象变量上,调用 GetType 方法检索 System.Type 对象。 - Dim myObject As Object myObject.GetType()
- 在 System.Type 类上,调用共享方法 GetTypeCode 检索对象类型的 TypeCode 枚举值。 - Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))- 对任何感兴趣的枚举成员都可以测试 TypeCode 枚举值,例如 Double。 
确定对象变量的类型是否与指定类型兼容
- 组合使用 TypeOf 运算符和 Is 运算符 (Visual Basic),使用 TypeOf...Is 表达式测试对象。 - If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If- 如果对象的运行时类型和指定类型兼容,则 TypeOf...Is 表达式返回 True。 - 兼容性标准取决于指定类型是类、结构还是接口。 通常,如果对象的类型与指定类型相同,或者,继承或实现了指定类型,则类型是兼容的。 有关更多信息,请参见 TypeOf 运算符 (Visual Basic)。 
编译代码
注意,指定类型不能是变量或表达式。 它必须是已定义类型(例如,类、结构或接口)的名称。 包括内部类型,例如 Integer 和 String。