Bagikan melalui


Menentukan Tipe Objek (Visual Basic)

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 TestObjectShowType menggunakan tiga jenis kontrol yang berbeda.

Untuk menjalankan contoh

  1. Buat proyek Aplikasi Windows baru dan tambahkan Button kontrol, CheckBox kontrol, dan RadioButton kontrol ke formulir.

  2. Dari tombol pada formulir Anda, panggil prosedur TestObject.

  3. 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
    

Lihat juga