Procedura: determinare se due oggetti sono correlati
Aggiornamento: novembre 2007
È possibile confrontare due oggetti per determinare l'eventuale relazione tra le classi da cui vengono creati. Il metodo IsInstanceOfType della classe System.Type restituisce True se la classe specificata eredita da quella corrente o se il tipo corrente è un'interfaccia supportata dalla classe specificata.
Per determinare se un oggetto eredita dalla classe o dall'interfaccia di un altro oggetto
Richiamare il metodo GetType sull'oggetto che può essere considerato del tipo base.
Richiamare il metodo IsInstanceOfType sull'oggetto System.Type restituito da GetType,
Specificare l'oggetto che può essere del tipo derivato nell'elenco degli argomenti di IsInstanceOfType.
IsInstanceOfType restituisce True se il relativo tipo di argomento eredita dal tipo di oggetto System.Type.
Esempio
Nell'esempio che segue viene determinato se un oggetto rappresenta una classe derivata dalla classe di un altro oggetto.
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
Si osservi la posizione imprevista delle due variabili oggetto nella chiamata a IsInstanceOfType. Il tipo base previsto viene utilizzato per generare la classe System.Type e il tipo derivato previsto viene passato come argomento al metodo IsInstanceOfType.
Vedere anche
Attività
Procedura: determinare se due oggetti sono identici
Concetti
Variabili oggetto in Visual Basic