Partager via


Comment : déterminer si deux objets sont liés (Visual Basic)

Vous pouvez comparer deux objets pour déterminer la relation qui existe éventuellement entre les classes à partir desquelles ils sont créés. La méthode IsInstanceOfType de la classe Type retourne True si la classe indiquée hérite de la classe active ou si le type actif représente une interface prise en charge par la classe indiquée.

Pour déterminer si un objet hérite de la classe ou de l'interface d'un autre objet

  1. Appelez la méthode GetType sur l'objet que vous pensez être du type de base.

  2. Sur l'objet Type retourné par GetType, appelez la méthode IsInstanceOfType.

  3. Dans la liste d'arguments pour IsInstanceOfType, spécifiez l'objet que vous pensez être du type dérivé.

    IsInstanceOfType retourne True si son type d'argument hérite du type d'objet Type.

Exemple

L'exemple ci-dessous détermine si un objet représente une classe dérivée de la classe d'un autre objet.

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

Notez l'emplacement inattendu des deux variables objets dans l'appel à IsInstanceOfType. Le type de base supposé est utilisé pour générer la classe Type et le type dérivé supposé est transmis sous forme d'argument à la méthode IsInstanceOfType.

Voir aussi

Tâches

Comment : déterminer si deux objets sont identiques (Visual Basic)

Référence

Object, type de données

GetType

Type

IsInstanceOfType

Concepts

Variables objet dans Visual Basic

Valeurs des variables objets (Visual Basic)