Como: Determinar se dois objetos são relacionados

Você pode comparar dois objetos para determinar a relação, se houver, entre as classes da qual são criados.The IsInstanceOfType método para o System.Type classe retorna True Se a classe especificada herda da classe corrente ou se o tipo corrente é uma interface que suporte a classe especificada.

Para determinar se um objeto herda da classe do objeto ou interface

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

  2. Sobre o System.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.

    IsInstanceOfType Retorna True Se o tipo de argumento herda a partir do System.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 das duas variáveis de objeto na telefonar para inesperadaIsInstanceOfType. O tipo de base suposto é usado para gerar o System.Type classe e o tipo derivado suposto é passado sistema autônomo um argumento para o IsInstanceOfType método.

Consulte também

Tarefas

Como: Determinar se dois objetos são idênticos

Conceitos

Variáveis de objeto no Visual Basic

Valores de Variáveis Objeto

Referência

Tipo de dados Object

GetType

System.Type

IsInstanceOfType