Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sprawdza, czy typ środowiska uruchomieniowego wyniku wyrażenia jest zgodny z określonym typem.
Składnia
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Części
result
Zwracane. Wartość Boolean.
objectexpression
To jest wymagane. Dowolne wyrażenie, które oblicza typ odwołania.
typename
To jest wymagane. Dowolna nazwa typu danych.
Uwagi
Operator TypeOf określa, czy typ objectexpression czasu wykonywania jest zgodny z typename. Zgodność zależy od kategorii typów .typename W poniższej tabeli przedstawiono sposób określania zgodności.
Kategoria typu typename |
Kryterium zgodności |
|---|---|
| Klasa |
objectexpression jest typu typename lub dziedziczy z typename |
| Struktura |
objectexpression jest typu typename |
| Interfejs |
objectexpression implementuje typename lub dziedziczy z klasy, która implementuje typename |
Jeśli typ objectexpression czasu wykonywania spełnia kryterium zgodności, result to True. W przeciwnym razie result jest False. Jeśli objectexpression ma wartość null, TypeOffunkcja ...Is zwraca Falsewartość , i ...IsNot zwraca wartość True.
TypeOf jest zawsze używany ze Is słowem kluczowym do konstruowania TypeOfwyrażenia ...Is lub słowa kluczowego IsNotTypeOfdo konstruowania wyrażenia ...IsNot .
Przykład
W poniższym przykładzie użyto TypeOfwyrażeń ...Is , aby przetestować zgodność typu dwóch zmiennych referencyjnych obiektów z różnymi typami danych.
Dim refInteger As Object = 2
MsgBox("TypeOf Object[Integer] Is Integer? " & TypeOf refInteger Is Integer)
MsgBox("TypeOf Object[Integer] Is Double? " & TypeOf refInteger Is Double)
Dim refForm As Object = New System.Windows.Forms.Form
MsgBox("TypeOf Object[Form] Is Form? " & TypeOf refForm Is System.Windows.Forms.Form)
MsgBox("TypeOf Object[Form] Is Label? " & TypeOf refForm Is System.Windows.Forms.Label)
MsgBox("TypeOf Object[Form] Is Control? " & TypeOf refForm Is System.Windows.Forms.Control)
MsgBox("TypeOf Object[Form] Is IComponent? " & TypeOf refForm Is System.ComponentModel.IComponent)
Zmienna refInteger ma typ Integerczasu wykonywania . Jest zgodny z elementem Integer , ale nie z Double. Zmienna refForm ma typ Formczasu wykonywania . Jest on zgodny z Form tym, ponieważ jest to jego typ, z Control powodu, że Form dziedziczy z Control, i z IComponent powodu Form dziedziczenia z Componentklasy , który implementuje IComponent. Jednak refForm nie jest zgodny z .Label