Compartilhar 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 IsInstanceOfTypeométodo da System.Typeretorna aclasse True se a classe especificada herda da classeatual, ou se o tipo atual é uma interface oferece suporte a classeespecificada.

Para determinar se um objeto herda da classe ou interfacede outro objeto

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

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

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

    IsInstanceOfTypeRetorna True se o seu tipo de argumento herda de System.Typetipo deobjeto .

Exemplo

O exemplo a seguir determina se um objeto representa uma classe derivada de outro objetode classe.

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 duas variáveis de objeto na chamada para IsInstanceOfType. O tipo de base de suposto é usado para gerar o System.Type classee 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

System.Type

IsInstanceOfType

Conceitos

Variáveis de objeto no Visual Basic

Valores de variável de objeto (Visual Basic)