Udostępnij za pomocą


Wartości zmiennych obiektów (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.

Funkcja 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ące dane
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 daje wartość True, jeśli typ w czasie wykonywania operandu jest pochodny od określonego typu lub go implementuje.

W poniższym przykładzie użyto zmiennych obiektowych TypeOf odwołujących się do typów wartościowych i odniesieniowych.

' 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. Deklaracja tego typu danych jako Object umożliwia przechowywanie obiektów i wystąpień klas wraz z innymi typami danych w tablicy.

Zobacz także