Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Memeriksa apakah jenis runtime hasil ekspresi kompatibel dengan jenis yang ditentukan.
Sintaksis
result = TypeOf objectexpression Is typename
result = TypeOf objectexpression IsNot typename
Bagian
result
Kembali. Nilai Boolean.
objectexpression
Dibutuhkan. Ekspresi apa pun yang mengevaluasi ke jenis referensi.
typename
Dibutuhkan. Nama jenis data apa pun.
Komentar
Operator TypeOf menentukan apakah jenis objectexpression run-time kompatibel dengan typename. Kompatibilitas tergantung pada kategori typenamejenis . Tabel berikut ini memperlihatkan bagaimana kompatibilitas ditentukan.
Kategori jenis typename |
Kriteria kompatibilitas |
|---|---|
| Kelas |
objectexpression berjenis typename atau mewarisi dari typename |
| Struktur |
objectexpression berjenis typename |
| Antarmuka |
objectexpression
typename menerapkan atau mewarisi dari kelas yang mengimplementasikantypename |
Jika jenis objectexpression run-time memenuhi kriteria kompatibilitas, result adalah True. Bila tidak, maka result adalah False. Jika objectexpression null, maka TypeOf...Is mengembalikan False, dan ...IsNot mengembalikan True.
TypeOf selalu digunakan dengan Is kata kunci untuk membuat TypeOfekspresi ...Is , atau dengan IsNot kata kunci untuk membangun TypeOfekspresi ...IsNot .
Contoh
Contoh berikut menggunakan TypeOfekspresi ...Is untuk menguji kompatibilitas jenis dua variabel referensi objek dengan berbagai jenis data.
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)
Variabel refInteger memiliki jenis run-time .Integer Ini kompatibel dengan Integer tetapi tidak dengan Double. Variabel refForm memiliki jenis run-time .Form Ini kompatibel dengan Form karena itu adalah jenisnya, dengan Control karena Form mewarisi dari Control, dan dengan IComponent karena Form mewarisi dari Component, yang mengimplementasikan IComponent. Namun, refForm tidak kompatibel dengan Label.