Object — typ danych
Przechowuje adresy odwołujące się do obiektów. Do zmiennej Object
można przypisać dowolny typ odwołania (ciąg, tablica, klasa lub interfejs). Zmienna Object
może również odwoływać się do danych dowolnego typu wartości (liczbowego, Boolean
, , Char
Date
, struktury lub wyliczenia).
Uwagi
Object
Typ danych może wskazywać dane dowolnego typu danych, w tym dowolne wystąpienie obiektu rozpoznawane przez aplikację. Użyj Object
polecenia , gdy nie wiesz w czasie kompilacji, na jaki typ danych może wskazywać zmienna.
Wartość domyślna Object
to Nothing
(odwołanie o wartości null).
Typy danych
Do zmiennej można przypisać zmienną, stałą Object
lub wyrażenie dowolnego typu danych. Aby określić typ danych, do którego Object
obecnie odwołuje się zmienna, możesz użyć GetTypeCode metody System.Type klasy . Ilustruje to poniższy przykład.
Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())
Typ Object
danych jest typem referencyjnym. Jednak język Visual Basic traktuje zmienną Object
jako typ wartości w przypadku odwoływania się do danych typu wartości.
Storage
Niezależnie od typu danych, do których się odwołuje, zmienna Object
nie zawiera samej wartości danych, ale raczej wskaźnik do wartości. Zawsze używa czterech bajtów w pamięci komputera, ale nie obejmuje to magazynu dla danych reprezentujących wartość zmiennej. Ze względu na kod, który używa wskaźnika do lokalizowania danych, Object
zmienne przechowujące typy wartości są nieco wolniejsze do uzyskania dostępu niż jawnie wpisane zmienne.
porady dotyczące programowania
Zagadnienia dotyczące międzyoperacyjności. Jeśli łączysz się ze składnikami, które nie są napisane dla programu .NET Framework, na przykład dla obiektów Automation lub COM, pamiętaj, że typy wskaźników w innych środowiskach nie są zgodne z typem Języka Visual Basic
Object
.Wydajność. Zmienna zadeklarowana za
Object
pomocą typu jest wystarczająco elastyczna, aby zawierała odwołanie do dowolnego obiektu. Jednak w przypadku wywoływania metody lub właściwości dla takiej zmiennej zawsze wiążesz się z opóźnieniem (w czasie wykonywania). Aby wymusić wczesne powiązanie (w czasie kompilacji) i lepszą wydajność, zadeklaruj zmienną o określonej nazwie klasy lub rzutuj ją na określony typ danych.Podczas deklarowania zmiennej obiektu spróbuj użyć określonego typu klasy, na przykład OperatingSystem, zamiast uogólnionego
Object
typu. Należy również użyć najbardziej konkretnej dostępnej klasy, takiej jak TextBox zamiast Control, aby można było uzyskać dostęp do jej właściwości i metod. Zazwyczaj można użyć listy Klasy w przeglądarce obiektów, aby znaleźć dostępne nazwy klas.Poszerzenie. Wszystkie typy danych i wszystkie typy odwołań są rozszerzane do
Object
typu danych. Oznacza to, że można przekonwertować dowolny typ naObject
bez napotkania błędu System.OverflowException .Jednak w przypadku konwersji między typami wartości a
Object
elementem Visual Basic wykonuje operacje nazywane boxingiem i rozpboxowaniem, co spowalnia wykonywanie.Wpisz znaki.
Object
nie ma znaku typu literału ani typu identyfikatora.Typ struktury. Odpowiedni typ w programie .NET Framework jest klasą System.Object .
Przykład
Poniższy przykład ilustruje zmienną Object
wskazującą wystąpienie obiektu.
Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)