Bagikan melalui


Membuat Atribut Kustom (Visual Basic)

Anda dapat membuat atribut kustom Anda sendiri dengan menentukan kelas atribut, kelas yang berasal secara langsung atau tidak langsung dari Attribute, yang membuat mengidentifikasi definisi atribut dalam metadata cepat dan mudah. Misalkan Anda ingin menandai jenis dengan nama programmer yang menulis jenis. Anda dapat menentukan kelas atribut kustom Author :

<System.AttributeUsage(System.AttributeTargets.Class Or
                       System.AttributeTargets.Struct)>
Public Class Author
    Inherits System.Attribute
    Private name As String
    Public version As Double
    Sub New(ByVal authorName As String)
        name = authorName
        version = 1.0
    End Sub
End Class

Nama kelas adalah nama atribut, Author. Ini berasal dari System.Attribute, sehingga merupakan kelas atribut kustom. Parameter konstruktor adalah parameter posisi atribut kustom. Dalam contoh ini, name adalah parameter posisi. Setiap bidang atau properti baca-tulis publik diberi nama parameter. Dalam hal ini, version adalah satu-satunya parameter bernama. Perhatikan penggunaan AttributeUsage atribut untuk membuat Author atribut hanya valid pada kelas dan Structure deklarasi.

Anda dapat menggunakan atribut baru ini sebagai berikut:

<Author("P. Ackerman", Version:=1.1)>
Class SampleClass
    ' P. Ackerman's code goes here...
End Class

AttributeUsage memiliki parameter bernama, AllowMultiple, yang dengannya Anda dapat membuat atribut kustom sekali pakai atau multi-penggunaan. Dalam contoh kode berikut, atribut multi-penggunaan dibuat.

' multiuse attribute
<System.AttributeUsage(System.AttributeTargets.Class Or
                       System.AttributeTargets.Struct,
                       AllowMultiple:=True)>
Public Class Author
    Inherits System.Attribute

Dalam contoh kode berikut, beberapa atribut dengan jenis yang sama diterapkan ke kelas.

<Author("P. Ackerman", Version:=1.1),
Author("R. Koch", Version:=1.2)>
Class SampleClass
    ' P. Ackerman's code goes here...
    ' R. Koch's code goes here...
End Class

Nota

Jika kelas atribut Anda berisi properti, properti tersebut harus dibaca-tulis.

Lihat juga