Поделиться через


Практическое руководство. Определение типа, на который указывает объектная переменная (Visual Basic)

Объектная переменная содержит указатель на данные, хранящиеся в другом месте. Тип этих данных можно изменить во время выполнения. В любой момент времени можно использовать метод GetTypeCode для определения текущего типа времени выполнения, или Оператор TypeOf (Visual Basic), чтобы узнать, совместим ли текущий тип времени выполнения с указанным типом.

Точное определение типа, на который указывает объектная переменная

  1. В объектной переменной вызовите метод GetType для извлечения объекта System.Type.

    Dim myObject As Object
    myObject.GetType()
    
  2. В классе 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.

См. также

Ссылки

Тип данных Object

GetType

System.Type

GetTypeCode

TypeCode

Основные понятия

Объектные переменные в Visual Basic

Значения объектных переменных (Visual Basic)