Udostępnij za pośrednictwem


Wartości zmiennej obiektu (Visual Basic)

Zmienna typu danych obiektu może odwoływać się do danych dowolnego typu. Wartość przechowywana w zmiennej Object jest przechowywana w innym miejscu w pamięci, podczas gdy sama zmienna przechowuje wskaźnik do danych.

Funkcje klasyfikatora obiektów

Visual Basic dostarcza funkcje, które zwracają informacje o tym, co zmienna Object odnosi się do, jak pokazano w poniższej tabeli.

Function Zwraca wartość True, jeśli zmienna Object odwołuje się do
IsArray Tablica wartości, a nie pojedyncza wartość
IsDate Wartość Typu danych daty lub ciąg, który można interpretować jako wartość daty i godziny
IsDBNull Obiekt typu DBNull, który reprezentuje brakujące lub nieistniejących danych
IsError Obiekt wyjątku, który pochodzi z Exception
IsNothing Nic, oznacza to, że żaden obiekt nie jest obecnie przypisany do zmiennej
IsNumeric Liczba lub ciąg, który można interpretować jako liczbę
IsReference Typ odwołania (taki jak ciąg, tablica, delegat lub typ klasy)

Za pomocą tych funkcji można uniknąć przesyłania nieprawidłowej wartości do operacji lub procedury.

TypeOf — Operator

Możesz również użyć operatora TypeOf, aby określić, czy zmienna obiektu obecnie odwołuje się do określonego typu danych. Wyrażenie TypeOf...Is oblicza, True czy typ czasu wykonywania operandu pochodzi z lub implementuje określony typ.

W poniższym przykładzie użyto TypeOf zmiennych obiektów odwołujących się do wartości i typów odwołań.

' 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")  

Powyższy przykład zapisuje następujące wiersze w oknie Debugowanie :

num is Integer

num is Object

frm is Form

frm is Object

Zmienna num obiektu odwołuje się do danych typu Integeri frm odwołuje się do obiektu klasy Form.

Tablice obiektów

Można zadeklarować tablicę Object zmiennych i użyć jej. Jest to przydatne, gdy trzeba obsługiwać różne typy danych i klasy obiektów. Wszystkie elementy w tablicy muszą mieć ten sam zadeklarowany typ danych. Deklarowanie tego typu danych umożliwia Object przechowywanie obiektów i wystąpień klas wraz z innymi typami danych w tablicy.

Zobacz też