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


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

Переменная типа Тип данных Object может ссылаться на данные любого типа. Значение, сохраненное в переменной типа Object, хранится в области памяти, а сама переменная содержит указатель на данные.

Функции классификатора объектов

Visual Basic предоставляет функции, которые возвращают сведения о том, на что ссылается переменная типа Object, как показано в следующей таблице:

Функция

Возвращает True, если переменная объекта ссылается на

IsArray

Массив значений, а не на одно значение

IsDate

Значение типа Тип данных Date (Visual Basic) или строку, которая может быть интерпретирована как значение даты и времени

IsDBNull

Объект типа DBNull, который представляет пропущенные или не существующие данные

IsError

Объект исключения, являющийся производным от Exception

IsNothing

Nothing (Visual Basic), т. е. переменной в данный момент не присвоен объекта

IsNumeric

Число или строковое значение, которое может быть интерпретировано как число

IsReference

Ссылочный тип (например, строка, массив, делегат или тип класса)

Можно использовать эти функции, чтобы избежать передачи несуществующего значения оператору или процедуре.

Оператор TypeOf

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

В следующем примере оператор TypeOf применяется к переменным объектов, ссылающимся на значение и ссылочный тип.

' The following statement puts a value type (Integer) in an Object variable.
Dim num As Object = 10
' The following statement puts a reference type (Form) in an Object variable.
Dim frm As Object = New Form()
If TypeOf num Is Long Then Debug.WriteLine("num is Long")
If TypeOf num Is Integer Then Debug.WriteLine("num is Integer")
If TypeOf num Is Short Then Debug.WriteLine("num is Short")
If TypeOf num Is Object Then Debug.WriteLine("num is Object")
If TypeOf frm Is Form Then Debug.WriteLine("frm is Form")
If TypeOf frm Is Label Then Debug.WriteLine("frm is Label")
If TypeOf frm Is Object Then Debug.WriteLine("frm is Object")

В результате выполнения данного примера в окне Отладка отобразятся следующие строки:

num is Integer

num is Object

frm is Form

frm is Object

Объектная переменная num ссылается на данные типа Integer, а frm ссылается на объект класса Form.

Массивы объектов

Можно объявить и использовать массив переменных типа Object. Это удобно, когда необходимо обработать различные типы данных и классы объектов. Все элементы массива должны принадлежать одному объявленному типу данных. Объявление этого типа данных как Object позволяет хранить объекты и экземпляры класса вместе с другими типами данных в массиве.

См. также

Задачи

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

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

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

Практическое руководство. Определение идентичности двух объектов (Visual Basic)

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

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

Объявление переменных объектов (Visual Basic)

Присваивание объектных переменных (Visual Basic)

Типы данных в Visual Basic