Sdílet prostřednictvím


Datový typ objektu

Obsahuje adresy odkazující na objekty. Proměnné můžete přiřadit libovolný typ odkazu (řetězec, pole, třídu nebo rozhraní Object ). Proměnná Object může také odkazovat na data libovolného typu hodnoty (číselného, BooleanChar, , , Datestruktury nebo výčtu).

Poznámky

Datový Object typ může odkazovat na data libovolného datového typu, včetně jakékoli instance objektu, která aplikace rozpozná. Používá se Object , když v době kompilace nevíte, na jaký datový typ může proměnná odkazovat.

Výchozí hodnota Object je Nothing (odkaz null).

Typy dat

Proměnné, konstantě nebo výrazu libovolného datového typu můžete přiřadit proměnnou Object . K určení datového typu, na který proměnná Object aktuálně odkazuje, můžete použít GetTypeCode metodu System.Type třídy. Toto dokládá následující příklad.

Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())

Datový Object typ je referenční typ. Jazyk Visual Basic však považuje proměnnou Object za typ hodnoty, pokud odkazuje na data typu hodnoty.

Úložiště

Datový typ, na který odkazuje, Object proměnná neobsahuje samotnou datovou hodnotu, ale ukazatel na hodnotu. Vždy používá čtyři bajty v paměti počítače, ale nezahrnuje úložiště pro data představující hodnotu proměnné. Kvůli kódu, který používá ukazatel k vyhledání dat, jsou proměnné obsahující Object typy hodnot mírně pomalejší než explicitně zadané proměnné.

Tipy k programování

  • Co je potřeba vzít v úvahu. Pokud spolupracujete s komponentami, které nejsou napsané pro rozhraní .NET Framework, například pro objekty Automation nebo COM, mějte na paměti, že typy ukazatelů v jiných prostředích nejsou kompatibilní s typem jazyka Visual Basic Object .

  • Výkon. Proměnná, kterou deklarujete s typem Object , je dostatečně flexibilní, aby obsahovala odkaz na libovolný objekt. Při vyvolání metody nebo vlastnosti v takové proměnné však vždy dochází ke zpoždění vazby (za běhu). Chcete-li vynutit počáteční vazbu (v době kompilace) a lepší výkon, deklarujte proměnnou s konkrétním názvem třídy nebo ji přetypujte na konkrétní datový typ.

    Když deklarujete proměnnou objektu, zkuste použít konkrétní typ třídy, například OperatingSystemmísto generalizovaného Object typu. Měli byste také použít nejvýraznější dostupnou třídu, například TextBox místo Control, abyste měli přístup k jeho vlastnostem a metodám. K vyhledání dostupných názvů tříd můžete obvykle použít seznam Tříd v prohlížeči objektů.

  • Rozšiřování. Všechny datové typy a všechny odkazové typy se rozšiřují na Object datový typ. To znamená, že můžete převést libovolný typ na Object bez výskytu System.OverflowException chyby.

    Pokud ale převedete mezi typy hodnot a Object, Visual Basic provádí operace označované jako boxing a unboxing, což zpomaluje provádění.

  • Zadejte znaky.Object nemá žádný znak typu literálu ani znak typu identifikátoru.

  • Typ architektury. Odpovídající typ v rozhraní .NET Framework je System.Object třída.

Příklad

Následující příklad znázorňuje proměnnou Object odkazující na instanci objektu.

Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)

Viz také