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


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

Обновлен: Ноябрь 2007

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

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

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

Функция

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

Функция IsArray (Visual Basic)

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

Функция IsDate (Visual Basic)

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

Функция IsDBNull

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

Функция IsError

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

Функция IsNothing

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

Функция IsNumeric (Visual Basic)

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

Функция 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

Ссылки

Is (Visual Basic)