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, Boolean
Char
, , , Date
struktury 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 naObject
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)