Partager via


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

Vous pouvez comparer deux objets pour déterminer la relation, le cas échéant, entre les classes à partir desquelles ils sont créés. La méthode IsInstanceOfType de la classe System.Type retourne True si la classe spécifiée hérite de la classe actuelle, ou si le type actuel est une interface prise en charge par la classe spécifiée.

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

  1. Sur l’objet que vous pensez être du type de base, appelez la méthode GetType.

  2. Sur l’objet System.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 System.Type.

Exemple

L’exemple suivant 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 d’objet dans l’appel à IsInstanceOfType. Le type de base supposé est utilisé pour générer la classe System.Type, et le type dérivé supposé est passé en tant qu’argument à la méthode IsInstanceOfType.

Voir aussi