Bagikan melalui


Gambaran umum atribut (Visual Basic)

Atribut menyediakan metode yang kuat untuk mengaitkan metadata, atau informasi deklaratif, dengan kode (rakitan, jenis, metode, properti, dan sebagainya). Setelah atribut dikaitkan dengan entitas program, atribut dapat dikueri pada durasi dengan menggunakan teknik yang disebut refleksi. Untuk informasi selengkapnya, lihat Refleksi (Visual Basic).

Atribut memiliki properti berikut:

  • Atribut menambahkan metadata ke program Anda. Metadata adalah informasi tentang jenis yang ditentukan dalam program. Semua rakitan .NET berisi sekumpulan metadata tertentu yang menjelaskan jenis dan jenis anggota yang ditentukan dalam rakitan. Anda dapat menambahkan atribut kustom untuk menentukan informasi tambahan apa pun yang diperlukan. Untuk informasi selengkapnya, lihat Membuat Atribut Kustom (Visual Basic).

  • Anda dapat menerapkan satu atau beberapa atribut ke seluruh rakitan, modul, atau elemen program yang lebih kecil seperti kelas dan properti.

  • Atribut dapat menerima argumen dengan cara yang sama seperti metode dan properti.

  • Program Anda dapat memeriksa metadata-nya sendiri atau metadata dalam program lain dengan menggunakan refleksi. Untuk informasi selengkapnya, lihat Mengakses Atribut dengan Menggunakan Pantulan (Visual Basic).

Menggunakan atribut

Atribut dapat ditempatkan pada sebagian besar deklarasi apa pun, meskipun atribut tertentu mungkin membatasi jenis deklarasi yang valid. Dalam Visual Basic, atribut diapit dalam tanda kurung sudut (<>). Atribut harus muncul segera sebelum elemen yang diterapkannya, pada baris yang sama.

Dalam contoh ini, atribut SerializableAttribute digunakan untuk menerapkan karakteristik tertentu ke kelas:

<System.Serializable()> Public Class SampleClass
    ' Objects of this type can be serialized.
End Class

Metode dengan atribut DllImportAttribute dinyatakan seperti ini:

Imports System.Runtime.InteropServices
<System.Runtime.InteropServices.DllImport("user32.dll")>
Sub SampleMethod()
End Sub

Lebih dari satu atribut dapat ditempatkan pada deklarasi:

Imports System.Runtime.InteropServices
Sub MethodA(<[In](), Out()> ByVal x As Double)
End Sub
Sub MethodB(<Out(), [In]()> ByVal x As Double)
End Sub

Beberapa atribut dapat ditentukan lebih dari sekali untuk entitas tertentu. Contoh atribut multi-penggunaan tersebut adalah ConditionalAttribute:

<Conditional("DEBUG"), Conditional("TEST1")>
Sub TraceMethod()
End Sub

Catatan

Berdasarkan konvensi, semua nama atribut diakhiri dengan kata "Atribut" untuk membedakannya dari item lain dalam .NET Framework. Namun, Anda tidak perlu menentukan akhiran atribut saat menggunakan atribut dalam kode. Misalnya, [DllImport] setara dengan [DllImportAttribute], tetapi DllImportAttribute merupakan nama sebenarnya dari atribut dalam .NET Framework.

Parameter Atribut

Banyak atribut memiliki parameter, yang dapat berupa posisi, tanpa nama, atau bernama. Parameter posisi apa pun harus ditentukan dalam urutan tertentu dan tidak dapat dihilangkan; parameter bernama bersifat opsional dan dapat ditentukan dalam urutan apa pun. Parameter posisi ditentukan terlebih dahulu. Misalnya, ketiga atribut ini setara:

<DllImport("user32.dll")>
<DllImport("user32.dll", SetLastError:=False, ExactSpelling:=False)>
<DllImport("user32.dll", ExactSpelling:=False, SetLastError:=False)>

Parameter pertama, nama DLL, bersifat berdasarkan posisi dan selalu lebih dulu; yang lainnya diberi nama. Dalam hal ini, kedua parameter bernama default ke false, sehingga dapat dihilangkan. Lihat dokumentasi atribut individual untuk informasi tentang nilai parameter default.

Target atribut

Target atribut adalah entitas tempat atribut diterapkan. Misalnya, atribut dapat berlaku untuk kelas, metode tertentu, atau seluruh perakitan. Secara default, atribut berlaku untuk elemen yang didahuluinya. Tetapi Anda juga dapat secara eksplisit mengidentifikasi, misalnya, apakah atribut diterapkan ke metode, atau ke parameternya, atau ke nilai pengembaliannya.

Untuk mengidentifikasi target atribut secara eksplisit, gunakan sintaks berikut:

<target : attribute-list>

Daftar nilai yang mungkin target diperlihatkan dalam tabel berikut ini.

Nilai target Berlaku untuk
assembly Seluruh perakitan
module Modul rakitan saat ini (yang berbeda dari Modul Visual Basic)

Contoh berikut menunjukkan cara menerapkan atribut ke rakitan dan modul. Untuk informasi selengkapnya, lihat Atribut Umum (Visual Basic).

Imports System.Reflection
<Assembly: AssemblyTitleAttribute("Production assembly 4"),
Module: CLSCompliant(True)>

Penggunaan Umum untuk Atribut

Daftar berikut mencakup beberapa penggunaan umum atribut dalam kode:

  • Menandai metode menggunakan atribut WebMethod di layanan Web untuk menunjukkan bahwa metode harus dapat dipanggil melalui protokol SOAP. Untuk informasi selengkapnya, lihat WebMethodAttribute.

  • Menjelaskan cara melakukan marshal parameter metode saat beroperasi dengan kode asli. Untuk informasi selengkapnya, lihat MarshalAsAttribute.

  • Menjelaskan properti COM untuk kelas, metode, dan antarmuka.

  • Memanggil kode yang tidak dikelola menggunakan kelas DllImportAttribute.

  • Menjelaskan assembly Anda dalam hal judul, versi, deskripsi, atau merek dagang.

  • Menjelaskan anggota kelas mana yang akan diserialisasikan untuk persistensi.

  • Menjelaskan cara memetakan antara anggota kelas dan simpul XML untuk serialisasi XML.

  • Menjelaskan persyaratan keamanan untuk metode.

  • Menentukan karakteristik yang digunakan untuk menegakkan keamanan.

  • Mengontrol pengoptimalan oleh pengkompilasi just-in-time (JIT) sehingga kode tetap mudah di-debug.

  • Mendapatkan informasi tentang pemanggil ke metode.

Untuk informasi selengkapnya, lihat:

Lihat juga