Megosztás a következőn keresztül:


Útmutató: Objektumváltozó típusának meghatározása (Visual Basic)

Az objektumváltozók máshol tárolt adatokra mutató mutatót tartalmaznak. Az adatok típusa a futási idő alatt változhat. A metódussal bármikor meghatározhatja az GetTypeCode aktuális futási idő típusát, vagy a TypeOf operátort annak megállapításához, hogy az aktuális futási idő típusa kompatibilis-e egy megadott típussal.

Annak meghatározásához, hogy egy objektumváltozó pontosan milyen típusra hivatkozik,

  1. Az objektumváltozón hívja meg a GetType metódust egy System.Type objektum lekéréséhez.

    Dim myObject As Object
    myObject.GetType()
    
  2. System.Type Az osztályban hívja meg a megosztott metódust GetTypeCode az TypeCode objektum típusának enumerálási értékének lekéréséhez.

    Dim myObject As Object
    Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType())
    MsgBox("myObject currently has type code " & CStr(datTyp))
    

    Az TypeCode enumerálási értéket az érdekelt enumerációs tagok ellenében tesztelheti, mint például a Double.

Annak meghatározása, hogy egy objektumváltozó típusa kompatibilis-e egy adott típussal

  • TypeOf Az operátor és az Is operátor együttes használatával tesztelje az objektumot egy TypeOf...Is kifejezéssel.

    If TypeOf objA Is System.Windows.Forms.Control Then
        MsgBox("objA is compatible with the Control class")
    End If
    

    A TypeOf...Is kifejezés akkor ad True vissza, ha az objektum futásidejének típusa kompatibilis a megadott típussal.

    A kompatibilitás feltétele attól függ, hogy a megadott típus osztály, struktúra vagy interfész-e. A típusok általában kompatibilisek, ha az objektum azonos típusú, örökli vagy implementálja a megadott típust. További információkért lásd: TypeOf operátor.

A kód összeállítása

Vegye figyelembe, hogy a megadott típus nem lehet változó vagy kifejezés. A névnek egy meghatározott típusnak kell lennie, például osztálynak, struktúrának vagy interfésznek. Ide tartoznak az olyan belső típusok, mint például Integer a .String

Lásd még