Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee wordt gecontroleerd of het runtimetype van het resultaat van een expressie compatibel is met het opgegeven type.
Syntaxis
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Onderdelen
result
Terug. Een Boolean waarde.
objectexpression
Verplicht. Elke expressie die resulteert in een verwijzingstype.
typename
Verplicht. Elke naam van het gegevenstype.
Opmerkingen
De TypeOf operator bepaalt of het runtimetype objectexpression compatibel is met typename. De compatibiliteit is afhankelijk van de typecategorie van typename. In de volgende tabel ziet u hoe compatibiliteit wordt bepaald.
Typecategorie van typename |
Compatibiliteitscriterium |
|---|---|
| Klasse |
objectexpression is van het type typename of neemt over van typename |
| Structuur |
objectexpression is van het type typename |
| gebruikersinterface |
objectexpression
typename implementeert of neemt over van een klasse die implementeerttypename |
Als het uitvoeringstype objectexpression voldoet aan het compatibiliteitscriterium, result is True. Anders wordt resultFalse. Als objectexpression null is, TypeOfretourneert ...Is en ... retourneert TrueFalse.IsNot
TypeOf wordt altijd gebruikt met het Is trefwoord om een TypeOf...Is -expressie te maken of met het IsNot trefwoord om een TypeOf...IsNot -expressie te maken.
Voorbeeld
In het volgende voorbeeld worden ...Is-expressies gebruikt TypeOfom de compatibiliteit van twee objectverwijzingsvariabelen met verschillende gegevenstypen te testen.
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)
De variabele refInteger heeft een runtimetype .Integer Het is compatibel met Integer maar niet met Double. De variabele refForm heeft een runtimetype .Form Het is compatibel met Form omdat dat het type is, met, omdat FormControl overneemt van Control, en met IComponent omdat Form ze overnemen van Component, die implementeert IComponent.
refForm Is echter niet compatibel met Label.