Compartir a través de


Cómo: Determinar si dos objetos están relacionados (Visual Basic)

Puede comparar dos objetos para determinar la relación, si existe, entre las clases desde las que se crean. El IsInstanceOfType método de la System.Type clase devuelve True si la clase especificada hereda de la clase actual o si el tipo actual es una interfaz compatible con la clase especificada.

Para determinar si un objeto hereda de la clase o interfaz de otro objeto

  1. En el objeto que cree que puede ser del tipo base, invoque el GetType método .

  2. En el objeto System.Type devuelto por GetType, invoque el método IsInstanceOfType.

  3. En la lista de argumentos para IsInstanceOfType, especifique el objeto que cree que podría ser del tipo derivado.

    IsInstanceOfType devuelve True si el tipo de su argumento hereda del tipo de objeto System.Type.

Ejemplo

En el ejemplo siguiente se determina si un objeto representa una clase derivada de la clase de otro objeto.

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

Observe la colocación inesperada de las dos variables de objeto en la llamada a IsInstanceOfType. El tipo base supuesto se usa para generar la System.Type clase y el tipo derivado supuesto se pasa como argumento al IsInstanceOfType método .

Consulte también