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


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

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

Определение точного типа переменной объекта в настоящее время ссылается на

  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, чтобы протестировать объект с выражением 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".

Компиляция кода

Обратите внимание, что указанный тип не может быть переменной или выражением. Оно должно быть именем определенного типа, например класса, структуры или интерфейса. Сюда входят встроенные типы, такие как Integer и String.

См. также