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 das quais eles são criados. O IsInstanceOfType método da System.Type classe retorna True se a classe especificada herda da classe atual ou se o tipo atual for uma interface suportada pela 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, invoque o GetType método.

  2. System.Type No objeto retornado por GetType, invoque o IsInstanceOfType método.

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

    IsInstanceOfType retorna True se seu tipo de argumento herda do System.Type tipo de objeto.

Exemplo

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

Consulte também