Porady: określanie, czy dwa obiekty są powiązane (Visual Basic)
Można porównać dwa obiekty, aby określić relację, jeśli istnieje, między klasami, z których są tworzone. IsInstanceOfType Metoda System.Type klasy zwracaTrue
, jeśli określona klasa dziedziczy z bieżącej klasy, lub jeśli bieżący typ jest interfejsem obsługiwanym przez określoną klasę.
Aby określić, czy jeden obiekt dziedziczy z klasy lub interfejsu innego obiektu
Na obiekcie, który uważasz, że może być typu podstawowego, wywołaj metodę GetType .
Na obiekcie zwróconym System.Type przez GetTypemetodę wywołaj metodę IsInstanceOfType .
Na liście argumentów dla IsInstanceOfTypeparametru określ obiekt, który może być typu pochodnego.
IsInstanceOfType Zwraca wartość
True
, jeśli typ argumentu System.Type dziedziczy z typu obiektu.
Przykład
Poniższy przykład określa, czy jeden obiekt reprezentuje klasę pochodzącą z klasy innego obiektu.
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
Zwróć uwagę na nieoczekiwane umieszczenie dwóch zmiennych obiektu w wywołaniu metody IsInstanceOfType. Rzekomy typ podstawowy jest używany do generowania System.Type klasy, a rzekomy typ pochodny jest przekazywany jako argument do IsInstanceOfType metody.