Bagikan melalui


TypeOf Operator (Visual Basic)

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.

Lihat juga