Porady: określanie, do jakiego typu odnosi się zmienna obiektu (Visual Basic)
Zmienna obiektu zawiera wskaźnik do danych przechowywanych gdzie indziej. Typ tych danych może ulec zmianie w czasie wykonywania. W dowolnym momencie możesz użyć GetTypeCode metody , aby określić bieżący typ czasu wykonywania lub operator TypeOf, aby dowiedzieć się, czy bieżący typ czasu wykonywania jest zgodny z określonym typem.
Aby określić dokładny typ zmiennej obiektu, która obecnie odwołuje się do
W zmiennej obiektu wywołaj metodę GetTypeSystem.Type , aby pobrać obiekt.
Dim myObject As Object myObject.GetType()
W klasie wywołaj System.Type metodę GetTypeCode udostępnioną, aby pobrać TypeCode wartość wyliczenia dla typu obiektu.
Dim myObject As Object Dim datTyp As Integer = Type.GetTypeCode(myObject.GetType()) MsgBox("myObject currently has type code " & CStr(datTyp))
Możesz przetestować TypeCode wartość wyliczenia względem elementów członkowskich wyliczenia, takich jak
Double
.
Aby określić, czy typ zmiennej obiektu jest zgodny z określonym typem
Użyj operatora w połączeniu
TypeOf
z operatoremIs, aby przetestować obiekt za pomocąTypeOf
wyrażenia ...Is
.If TypeOf objA Is System.Windows.Forms.Control Then MsgBox("objA is compatible with the Control class") End If
Wyrażenie
TypeOf
...Is
zwracaTrue
, jeśli typ czasu wykonywania obiektu jest zgodny z określonym typem.Kryterium zgodności zależy od tego, czy określony typ jest klasą, strukturą czy interfejsem. Ogólnie rzecz biorąc, typy są zgodne, jeśli obiekt jest tego samego typu, co, dziedziczy lub implementuje określony typ. Aby uzyskać więcej informacji, zobacz TypeOf Operator.
Kompilowanie kodu
Należy pamiętać, że określony typ nie może być zmienną ani wyrażeniem. Musi być nazwą zdefiniowanego typu, takiego jak klasa, struktura lub interfejs. Obejmuje to typy wewnętrzne, takie jak Integer
i String
.