Partilhar via


Como determinar se dois objetos estão relacionados (Visual Basic)

Você pode comparar dois objetos para determinar a relação, se houver, entre as classes a partir do qual eles são criados. O IsInstanceOfType método da Type classe retorna True se a classe especificada herda da classe atual, ou se o tipo atual é uma interface com o apoio da classe especificada.

Para determinar se um objeto herda da classe ou interface de outro objeto.

  1. No objeto que você acha que pode ser do tipo base, chamar o GetType método.

  2. Sobre o Type objeto retornado por GetType, invocar o IsInstanceOfType método.

  3. Na lista de argumentos para IsInstanceOfType, especifique o objeto que você acha que pode ser do tipo derivado.

    IsInstanceOfTypeRetorna True se o seu tipo de argumento herda o Type tipo de objeto.

Exemplo

O exemplo a seguir determina se um objeto representa uma classe derivada da classe do 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 a colocação inesperada das variáveis duas objeto na chamada para IsInstanceOfType. O tipo base suposto é usado para gerar o Type classe e o tipo derivado suposto é passado como um argumento para o IsInstanceOfType método.

Consulte também

Tarefas

Como determinar se dois objetos são idênticos (Visual Basic)

Referência

Tipo de dados Object

GetType

Type

IsInstanceOfType

Conceitos

Variáveis de objeto no Visual Basic

Valores de variável de objeto (Visual Basic)