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 das quais eles são criados. O método IsInstanceOfType da classe System.Type retornará True
se a classe especificada herdar da classe atual ou se o tipo atual for uma interface compatível com a classe especificada.
Para determinar se um objeto herda da classe ou interface de outro objeto
No objeto que você acha que pode ser do tipo base, invoque o método GetType.
No objeto System.Type retornado por GetType, invoque o método IsInstanceOfType.
Na lista de argumentos para IsInstanceOfType, especifique o objeto que você acha que pode ser do tipo derivado.
IsInstanceOfType retornará
True
se seu tipo de argumento herdar do tipo de objeto System.Type.
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 classe System.Type e o suposto tipo derivado é passado como um argumento para o método IsInstanceOfType.