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 Integer
i 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ż
- Zmienne obiektów
- Deklaracja zmiennej obiektu
- Przypisanie zmiennej obiektu
- Instrukcje: odwoływanie się do bieżącego wystąpienia obiektu
- Instrukcje: określanie, do jakiego typu odnosi się zmienna obiektu
- Instrukcje: określanie, czy dwa obiekty są powiązane
- Instrukcje: określanie, czy dwa obiekty są jednakowe
- Data types (Typy danych)