Atribut (panduan desain.NET Framework)

Nota

Konten ini dicetak ulang oleh izin Pearson Education, Inc. dari Panduan Desain Kerangka Kerja: Konvensi, Idiom, dan Pola untuk Pustaka .NET yang Dapat Digunakan Kembali, Edisi ke-2. Edisi itu diterbitkan pada tahun 2008, dan buku tersebut telah sepenuhnya direvisi pada edisi ketiga. Beberapa informasi di halaman ini mungkin sudah kedaluarsa.

System.Attribute adalah kelas dasar yang digunakan untuk menentukan atribut kustom.

Atribut adalah anotasi yang dapat ditambahkan ke elemen pemrograman seperti rakitan, jenis, anggota, dan parameter. Mereka disimpan dalam metadata perakitan dan dapat diakses pada waktu proses menggunakan API pantulan. Misalnya, Kerangka Kerja menentukan ObsoleteAttribute, yang dapat diterapkan ke jenis atau anggota untuk menunjukkan bahwa jenis atau anggota telah ditolak.

Atribut dapat memiliki satu atau beberapa properti yang membawa data tambahan yang terkait dengan atribut . Misalnya, ObsoleteAttribute dapat membawa informasi tambahan tentang rilis di mana jenis atau anggota tidak digunakan lagi dan deskripsi API baru menggantikan API yang sudah usang.

Beberapa properti atribut harus ditentukan saat atribut diterapkan. Ini disebut sebagai properti yang diperlukan atau argumen yang diperlukan, karena direpresentasikan sebagai parameter konstruktor posisional. Misalnya, properti ConditionString dari ConditionalAttribute adalah properti yang diperlukan.

Properti yang belum tentu harus ditentukan ketika atribut diterapkan disebut properti opsional (atau argumen opsional). Mereka diwakili oleh properti yang dapat diatur. Pengkompilasi menyediakan sintaks khusus untuk mengatur properti ini saat atribut diterapkan. Misalnya, AttributeUsageAttribute.Inherited properti mewakili argumen opsional.

Pastikan untuk menamai kelas atribut kustom dengan akhiran "Atribut".

✔️ DO terapkan AttributeUsageAttribute pada atribut kustom.

✔️ DO menyediakan properti yang dapat diatur untuk argumen opsional.

✔️ DO menyediakan properti get-only untuk argumen yang diperlukan.

✔️ DO menyediakan parameter konstruktor untuk menginisialisasi properti yang sesuai dengan argumen yang diperlukan. Setiap parameter harus memiliki nama yang sama (meskipun dengan casing yang berbeda) sebagai properti yang sesuai.

❌ AVOID menyediakan parameter konstruktor untuk menginisialisasi properti yang sesuai dengan argumen opsional.

Dengan kata lain, tidak memiliki properti yang dapat diatur dengan konstruktor dan setter. Pedoman ini membuat sangat eksplisit argumen mana yang opsional dan mana yang diperlukan, dan menghindari memiliki dua cara untuk melakukan hal yang sama.

❌ MENGHINDARI kelebihan beban konstruktor atribut kustom.

Hanya memiliki satu konstruktor yang berkomunikasi dengan jelas kepada pengguna argumen mana yang diperlukan dan yang bersifat opsional.

✔️ LAKUKAN segel kelas atribut kustom, jika memungkinkan. Ini membuat pencarian atribut lebih cepat.

© Sebagian 2005, 2009 Microsoft Corporation. Hak cipta dilindungi oleh undang-undang

Dicetak ulang oleh izin Pearson Education, Inc. dari Panduan Desain Kerangka Kerja: Konvensi, Idiom, dan Pola untuk Pustaka .NET yang Dapat Digunakan Kembali, Edisi ke-2 oleh Krzysztof Cwalina dan Brad Abrams, diterbitkan 22 Okt 2008 oleh Addison-Wesley Professional sebagai bagian dari Seri Pengembangan Microsoft Windows.

Lihat juga