Bagikan melalui


Cara untuk: Mendeklarasikan dan Memanggil Properti Bawaan di Visual Basic

Properti default adalah properti kelas atau struktur yang dapat diakses kode Anda tanpa menentukannya. Saat memanggil kode menamai kelas atau struktur tetapi bukan properti, dan konteksnya memungkinkan akses ke properti, Visual Basic menyelesaikan akses ke properti default kelas atau struktur tersebut jika ada.

Kelas atau struktur dapat memiliki paling banyak satu properti default. Namun, Anda dapat membebani properti default dan memiliki lebih dari satu versinya.

Untuk informasi selengkapnya, lihat Default.

Untuk mendeklarasikan properti default

  1. Deklarasikan properti dengan cara biasa. Jangan tentukan kata kunci Shared atau Private.

  2. Sertakan Default kata kunci dalam deklarasi properti.

  3. Tentukan setidaknya satu parameter untuk properti . Anda tidak dapat menentukan properti default yang tidak memiliki setidaknya satu argumen.

    Default Property myProperty(ByVal index As Integer) As String
    

Untuk memanggil properti default

  1. Mendeklarasikan variabel dari kelas atau jenis struktur yang berisi.

    Dim x As New class1(3)
    
  2. Gunakan nama variabel saja dalam ekspresi di mana Anda biasanya akan menyertakan nama properti.

    MsgBox(x)
    
  3. Ikuti nama variabel dengan daftar argumen dalam tanda kurung. Properti default harus memiliki minimal satu argumen.

    MsgBox(x(1))
    
  4. Untuk mengambil kembali nilai properti default, gunakan nama variabel dengan daftar argumen dalam ekspresi atau mengikuti tanda sama dengan (=) dalam pernyataan penugasan.

    MsgBox(x(1) & x(2) & x(3))
    
  5. Untuk mengatur nilai properti default, gunakan nama variabel, dengan daftar argumen, di sisi kiri pernyataan penugasan.

    x(1) = "Hello"
    x(2) = " "
    x(3) = "World"
    
  6. Anda selalu dapat menentukan nama properti default bersama dengan nama variabel, sama seperti yang Anda lakukan untuk mengakses properti lain.

    x.myProperty(1) = "Hello"
    x.myProperty(2) = " "
    x.myProperty(3) = "World"
    

Contoh 1

Contoh berikut mendeklarasikan properti default pada kelas.

Public Class class1
    Private myStrings() As String
    Sub New(ByVal size As Integer)
        ReDim myStrings(size)
    End Sub
    Default Property myProperty(ByVal index As Integer) As String
        Get
            ' The Get property procedure is called when the value
            ' of the property is retrieved.
            Return myStrings(index)
        End Get
        Set(ByVal Value As String)
            ' The Set property procedure is called when the value
            ' of the property is modified.
            ' The value to be assigned is passed in the argument 
            ' to Set.
            myStrings(index) = Value
        End Set
    End Property
End Class

Contoh 2

Contoh berikut menunjukkan cara memanggil properti myProperty default di kelas class1. Tiga pernyataan penugasan menyimpan nilai di myProperty, dan panggilan MsgBox akan membaca nilai tersebut.

Sub Test()
    Dim x As New class1(3)
    x(1) = "Hello"
    x(2) = " "
    x(3) = "World"
    MsgBox(x(1) & x(2) & x(3))
End Sub

Penggunaan paling umum dari properti bawaan adalah Item[] pada berbagai kelas koleksi.

Pemrograman yang Kuat

Properti default dapat mengakibatkan pengurangan kecil dalam karakter kode sumber, tetapi dapat membuat kode Anda lebih sulit dibaca. Jika kode panggilan tidak terbiasa dengan kelas atau struktur Anda, ketika membuat referensi ke nama kelas atau struktur, referensi tersebut tidak dapat dipastikan apakah referensi tersebut mengakses kelas atau struktur itu sendiri, atau properti default. Ini dapat menyebabkan kesalahan pengkompilasi atau kesalahan logika run-time yang halus.

Anda agak dapat mengurangi kemungkinan kesalahan properti default dengan selalu menggunakan Pernyataan Ketat Opsi untuk mengatur pemeriksaan jenis pengkompilasi ke On.

Jika Anda berencana untuk menggunakan kelas atau struktur yang telah ditentukan sebelumnya dalam kode Anda, Anda harus menentukan apakah itu memiliki properti default, dan jika demikian, apa namanya.

Karena kerugian ini, Anda harus mempertimbangkan untuk tidak menentukan properti bawaan. Untuk keterbacaan kode, Anda juga harus mempertimbangkan untuk selalu merujuk ke semua properti secara eksplisit, bahkan properti default.

Lihat juga