如何:确定对象变量引用的类型(Visual Basic)

对象变量包含指向存储在其他位置的数据的指针。 该数据类型可以在运行时更改。 在任何时候,都可以使用 GetTypeCode 该方法来确定当前运行时类型,或者 TypeOf 运算符 来确定当前运行时类型是否与指定类型兼容。

确定对象变量当前引用的确切类型

  1. 在对象变量上,调用 GetType 方法以检索 System.Type 对象。

    Dim myObject As Object
    myObject.GetType()
    
  2. 在类中 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 运算符结合使用,通过 TypeOf...Is 表达式测试对象。

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    TypeOf...表达式返回Is,如果对象的运行时类型与指定类型兼容。

    兼容性的条件取决于指定的类型是类、结构还是接口。 通常,如果对象的类型与指定类型相同、继承或实现指定类型,则类型兼容。 有关详细信息,请参阅 TypeOf 运算符

编译代码

请注意,指定的类型不能是变量或表达式。 它必须是定义的类型的名称,例如类、结构或接口。 这包括内部类型,例如 IntegerString

另请参阅