Objektum adattípusa
Az objektumokra hivatkozó címeket tárolja. Bármilyen referenciatípust (sztringet, tömböt, osztályt vagy felületet) hozzárendelhet egy Object
változóhoz. A Object
változók bármilyen típusú adatokra (numerikus, Boolean
, Char
, Date
struktúra vagy enumerálás) hivatkozhatnak.
Megjegyzések
Az Object
adattípus bármilyen adattípus adataira mutathat, beleértve az alkalmazás által felismert objektumpéldányokat is. Akkor használja Object
, ha nem tudja fordításkor, hogy a változó milyen adattípusra mutathat.
Az alapértelmezett érték Object
Nothing
(null értékű hivatkozás).
Adattípusok
Bármely adattípus változóját, állandóját vagy kifejezését hozzárendelheti egy Object
változóhoz. Az aktuálisan használt adattípus Object
meghatározásához használhatja az GetTypeCode System.Type osztály metódusát. Az alábbi példa ezt szemlélteti.
Dim myObject As Object
' Suppose myObject has now had something assigned to it.
Dim datTyp As Integer
datTyp = Type.GetTypeCode(myObject.GetType())
Az Object
adattípus egy referenciatípus. A Visual Basic azonban értéktípusként kezeli Object
a változót, ha értéktípusú adatokra hivatkozik.
Tárolás
Bármilyen adattípusra is hivatkozik, a változó nem magát az adatértéket Object
tartalmazza, hanem az értékre mutató mutatót. Mindig négy bájtot használ a számítógép memóriájában, de ez nem tartalmazza a változó értékét képviselő adatok tárterületét. Az adatok Object
megkeresésére a mutatót használó kód miatt az értéktípusokat tartalmazó változók valamivel lassabban érhetők el, mint a kifejezetten beírt változók.
Programozási tippek
Interop szempontok. Ha nem a .NET-keretrendszer írt összetevőkkel , például Automation- vagy COM-objektumokkal kommunikál, vegye figyelembe, hogy más környezetekben a mutatótípusok nem kompatibilisek a Visual Basic
Object
típussal.Teljesítmény. A típussal
Object
deklarált változó elég rugalmas ahhoz, hogy bármilyen objektumra hivatkozzon. Amikor azonban metódust vagy tulajdonságot hív meg egy ilyen változón, mindig késve kötést kell alkalmaznia (futásidőben). A korai kötés kényszerítéséhez (fordítási időben) és a jobb teljesítmény érdekében deklarálja a változót egy adott osztálynévvel, vagy adja hozzá az adott adattípushoz.Objektumváltozó deklarálásakor próbáljon meg egy adott osztálytípust használni, például OperatingSystemaz általánosított
Object
típus helyett. A rendelkezésre álló legspecifikusabb osztályt is használnia kell, például TextBox ahelyett Control, hogy hozzáférhessen a tulajdonságaihoz és metódusaihoz. Az ObjektumböngészőBen általában az Osztályok listát használhatja az elérhető osztálynevek megkereséséhez.Szélesedő. Az összes adattípus és referenciatípus az adattípusra szélesedik
Object
. Ez azt jelenti, hogy bármilyen típustObject
átalakíthat hiba nélkül System.OverflowException .Ha azonban értéktípusok között konvertál, és
Object
a Visual Basic a boxing és a unboxing nevű műveleteket hajtja végre, ami lassabbá teszi a végrehajtást.Írja be a karaktereket.
Object
nem rendelkezik literális típuskaraktere vagy azonosítótípus-karaktere.Keretrendszer típusa. A .NET-keretrendszer megfelelő típusa az System.Object osztály.
Példa
Az alábbi példa egy Object
objektumpéldányra mutató változót szemléltet.
Dim objDb As Object
Dim myCollection As New Collection()
' Suppose myCollection has now been populated.
objDb = myCollection.Item(1)