Udostępnij za pośrednictwem


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, , CharDate, 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 na Object bez napotkania błędu System.OverflowException .

    Jednak w przypadku konwersji między typami wartości a Objectelementem 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)

Zobacz też