Partager via


Guide pratique pour 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 de lesquelles elles sont créées. La IsInstanceOfType méthode de la System.Type classe 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 GetType méthode.

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

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

Voir aussi