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.
Variabel objek generik (yaitu, variabel yang Anda deklarasikan sebagai Object
) dapat menyimpan objek dari kelas apa pun. Saat menggunakan variabel jenis Object
, Anda mungkin perlu mengambil tindakan yang berbeda berdasarkan kelas objek; misalnya, beberapa objek mungkin tidak mendukung properti atau metode tertentu. Visual Basic menyediakan dua cara untuk menentukan jenis objek mana yang disimpan dalam variabel objek: TypeName
fungsi dan TypeOf...Is
operator.
TypeName dan TypeOf…Is
Fungsi TypeName
mengembalikan string dan merupakan pilihan terbaik saat Anda perlu menyimpan atau menampilkan nama kelas objek, seperti yang ditunjukkan dalam fragmen kode berikut:
Dim Ctrl As Control = New TextBox
MsgBox(TypeName(Ctrl))
Operator TypeOf...Is
adalah pilihan terbaik untuk menguji jenis objek, karena jauh lebih cepat daripada perbandingan string yang setara menggunakan TypeName
. Fragmen kode berikut menggunakan TypeOf...Is
dalam If...Then...Else
pernyataan:
If TypeOf Ctrl Is Button Then
MsgBox("The control is a button.")
End If
Perlu diingat, penting untuk berhati-hati di sini. Operator TypeOf...Is
mengembalikan jika objek berjenis True
tertentu, atau berasal dari jenis tertentu. Hampir semua yang Anda lakukan dengan Visual Basic melibatkan objek, yang mencakup beberapa elemen yang biasanya tidak dianggap sebagai objek, seperti string dan bilangan bulat. Objek-objek ini berasal dari dan mewarisi metode dari Object. Ketika diberikan Integer
dan dievaluasi dengan Object
, operator TypeOf...Is
mengembalikan True
. Contoh berikut melaporkan bahwa parameter InParam
adalah Object
dan Integer
:
Sub CheckType(ByVal InParam As Object)
' Both If statements evaluate to True when an
' Integer is passed to this procedure.
If TypeOf InParam Is Object Then
MsgBox("InParam is an Object")
End If
If TypeOf InParam Is Integer Then
MsgBox("InParam is an Integer")
End If
End Sub
Contoh berikut menggunakan TypeOf...Is
dan TypeName
untuk menentukan jenis objek yang diteruskan dalam argumen Ctrl
. Prosedur memanggil TestObject
ShowType
menggunakan tiga jenis kontrol yang berbeda.
Untuk menjalankan contoh
Buat proyek Aplikasi Windows baru dan tambahkan Button kontrol, CheckBox kontrol, dan RadioButton kontrol ke formulir.
Dari tombol pada formulir Anda, panggil prosedur
TestObject
.Tambahkan kode berikut ke formulir Anda:
Sub ShowType(ByVal Ctrl As Object) 'Use the TypeName function to display the class name as text. MsgBox(TypeName(Ctrl)) 'Use the TypeOf function to determine the object's type. If TypeOf Ctrl Is Button Then MsgBox("The control is a button.") ElseIf TypeOf Ctrl Is CheckBox Then MsgBox("The control is a check box.") Else MsgBox("The object is some other type of control.") End If End Sub Protected Sub TestObject() 'Test the ShowType procedure with three kinds of objects. ShowType(Me.Button1) ShowType(Me.CheckBox1) ShowType(Me.RadioButton1) End Sub