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 waktu proses 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 miliknya sendiri atau metadata di 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. Di Visual Basic, atribut diapit dalam tanda kurung sudut (<>). Ini 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 ConditionalAttribute:

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

Nota

Menurut konvensi, semua nama atribut diakhir 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 aktual atribut dalam .NET Framework.

Parameter Atribut

Banyak atribut memiliki parameter, yang dapat berupa posisional, tidak bernama, 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 posisional dan selalu menjadi yang utama; yang lain diberi nama. Dalam hal ini, kedua parameter bernama bernilai default false, dengan demikian dapat dihilangkan. Lihat dokumentasi atribut individual untuk informasi tentang nilai parameter default.

Atribut Target

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 kemungkinan nilai target diperlihatkan dalam tabel berikut.

Nilai target Berlaku pada
assembly Seluruh rakitan
module Modul perakitan 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 mengelola parameter metode saat beroperasi dengan kode bawaan. Untuk informasi selengkapnya, lihat MarshalAsAttribute .

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

  • Memanggil kode yang tidak dikelola menggunakan kelas DllImportAttribute.

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

  • Menjelaskan anggota kelas mana yang diserialisasi untuk persistensi.

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

  • Menjelaskan persyaratan keamanan untuk metode.

  • Menentukan karakteristik yang digunakan untuk memberlakukan keamanan.

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

  • Mendapatkan informasi tentang pemanggil suatu metode.

Untuk informasi selengkapnya, lihat:

Lihat juga