如何:确定两个对象是否相关 (Visual Basic)

可以对两个对象进行比较,以确定用于创建这两个对象的类之间的关系(如果有)。 如果指定的类从当前类继承,或者如果当前类型是由指定的类支持的接口,则 System.Type 类的 IsInstanceOfType 方法返回 True。

确定一个对象是否从另一个对象的类或接口继承

  1. 对您认为可能是基类型的对象,调用 GetType 方法。

  2. GetType 返回的 System.Type 对象,调用 IsInstanceOfType 方法。

  3. IsInstanceOfType 的参数列表中,指定您认为可能是派生类型的对象。

    如果 IsInstanceOfType 的参数类型从 System.Type 对象类型继承,它就会返回 True。

示例

下面的示例确定一个对象是否表示从另一个对象的类派生的类。

Public Class baseClass
End Class
Public Class derivedClass : Inherits baseClass
End Class
Public Class testTheseClasses
    Public Sub seeIfRelated()
        Dim baseObj As Object = New baseClass()
        Dim derivedObj As Object = New derivedClass()
        Dim related As Boolean
        related = baseObj.GetType().IsInstanceOfType(derivedObj)
        MsgBox(CStr(related))
    End Sub
End Class

请注意,IsInstanceOfType 调用中的两个对象变量的位置不符合要求。 假定的基类型用于生成 System.Type 类,而假定的派生类型则作为参数传递给 IsInstanceOfType 方法。

请参见

任务

如何:确定两个对象是否相同 (Visual Basic)

参考

Object 数据类型

GetType

System.Type

IsInstanceOfType

概念

Visual Basic 中的对象变量

对象变量值 (Visual Basic)