Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы определить связь между классами, из которых они создаются, можно сравнить два объекта. Метод IsInstanceOfType класса System.Type возвращает True
, если указанный класс наследует текущий класс или если текущий тип является интерфейсом, поддерживаемым указанным классом.
Определение того, наследует ли один объект от класса или интерфейса другого объекта
На объекте, который вы считаете может быть базовым типом, вызовите метод GetType.
На объекте System.Type, возвращенном GetType, вызовите метод IsInstanceOfType.
В списке аргументов для IsInstanceOfType, укажите объект, который вы считаете, может быть производным типом.
IsInstanceOfType возвращает
True
, если тип его аргумента наследуется от типа объекта System.Type.
Пример
В следующем примере определяется, представляет ли один объект класс, производный от класса другого объекта.
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
Обратите внимание на неожиданное размещение двух переменных объекта в вызове IsInstanceOfType. Предполагаемый базовый тип используется для создания System.Type класса, и предполагаемый производный тип передается в качестве аргумента IsInstanceOfType в метод.