Практическое руководство. Определение типа, на который указывает объектная переменная
Обновлен: Ноябрь 2007
Объектная переменная содержит указатель на данные, хранящиеся в другом месте. Тип этих данных можно изменить во время выполнения. В любой момент времени можно использовать метод GetTypeCode для определения текущего типа времени выполнения, или Оператор TypeOf (Visual Basic), чтобы узнать, совместим ли текущий тип времени выполнения с указанным типом.
Точное определение типа, на который указывает объектная переменная
В объектной переменной вызовите метод GetType для извлечения объекта System.Type.
Dim myObject As Object myObject.GetType()
В классе System.Type вызовите общий метод GetTypeCode для извлечения значения перечисления TypeCode для типа объекта.
Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))
Можно проверить значение перечисления TypeCode для любого интересующего члена перечисления, например Double.
Определение совместимости типа объектной переменной с указанным типом
Используйте оператор TypeOf в комбинации с Оператор Is (Visual Basic) для проверки объекта с помощью выражения TypeOf...Is.
If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
Выражение TypeOf...Is возвращает значение True, если тип объекта времени выполнения совместим с указанным типом.
Критерий совместимости зависит от того, является ли указанный тип классом, структурой или интерфейсом. В общем случае типы совместимы, если объект имеет тот же тип, который наследуется из заданного типа или используется им. Дополнительные сведения см. в разделе Оператор TypeOf (Visual Basic).
Компиляция кода
Обратите внимание, что указанный тип не может быть переменной или выражением. Он должен быть именем определенного типа, например класса, структуры или интерфейса. Кроме того, допускаются встроенные типы, например Integer и String.
См. также
Основные понятия
Объектные переменные в Visual Basic