AttributeProviderAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengaktifkan pengalihan atribut. Kelas ini tidak dapat diwariskan.
public ref class AttributeProviderAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Property)]
public class AttributeProviderAttribute : Attribute
public class AttributeProviderAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Property)>]
type AttributeProviderAttribute = class
inherit Attribute
type AttributeProviderAttribute = class
inherit Attribute
Public Class AttributeProviderAttribute
Inherits Attribute
- Warisan
- Atribut
Contoh
Contoh kode berikut menunjukkan penggunaan AttributeProviderAttribute untuk menandai DataSource
properti dengan jenis tertentu.IListSource Untuk daftar kode lengkap, lihat Cara: Menerapkan Atribut di kontrol Formulir Windows.
[Category("Data")]
[Description("Indicates the source of data for the control.")]
[RefreshProperties(RefreshProperties.Repaint)]
[AttributeProvider(typeof(IListSource))]
public object DataSource
{
get
{
return this.dataGridView1.DataSource;
}
set
{
this.dataGridView1.DataSource = value;
}
}
<Category("Data"), _
Description("Indicates the source of data for the control."), _
RefreshProperties(RefreshProperties.Repaint), _
AttributeProvider(GetType(IListSource))> _
Public Property DataSource() As Object
Get
Return Me.dataGridView1.DataSource
End Get
Set(ByVal value As Object)
Me.dataGridView1.DataSource = value
End Set
End Property
Keterangan
Ada beberapa kasus dalam model objek .NET Framework di mana properti sengaja ditik tidak jelas. Misalnya, properti ditik DataGridView.DataSource sebagai object
. Alasan untuk ini adalah bahwa properti ini dapat menerima beberapa jenis input. Sayangnya, ini tidak menyediakan tempat umum untuk menambahkan metadata untuk menggambarkan karakteristik properti. Setiap DataSource
properti di seluruh .NET Framework harus memiliki metadata yang identik untuk pengonversi jenis, editor jenis UI, dan layanan lain yang memerlukan metadata. Solusi AttributeProviderAttribute situasi ini.
Setelah atribut ini ditempatkan pada properti , aturan untuk mendapatkan atribut untuk koleksi deskriptor MemberDescriptor.Attributes properti berbeda. Biasanya, deskriptor properti mengumpulkan atribut lokal, lalu menggabungkannya dengan atribut dari jenis properti. Dalam hal ini, atribut diambil dari jenis yang dikembalikan dari AttributeProviderAttribute, bukan dari jenis properti aktual. Atribut ini digunakan pada DataGridView.DataSource untuk mengarahkan DataGridView.DataSource jenis spesifik objek ke IListSource, dan metadata yang sesuai ditempatkan untuk IListSource mengaktifkan pengikatan data. Dengan demikian, pihak eksternal dapat dengan mudah menambahkan metadata ke semua sumber data.
Atribut yang diperoleh dari jenis yang dideklarasikan dalam AttributeProviderAttribute memiliki prioritas di antara atribut jenis properti dan atribut pada properti . Daftar berikut, dalam urutan prioritas, menunjukkan kumpulan lengkap atribut gabungan yang tersedia:
Atribut Properti
Atribut Penyedia Atribut
Atribut Jenis Properti
Konstruktor
AttributeProviderAttribute(String) |
Menginisialisasi instans AttributeProviderAttribute baru kelas dengan nama jenis yang diberikan. |
AttributeProviderAttribute(String, String) |
Menginisialisasi instans AttributeProviderAttribute baru kelas dengan nama jenis dan nama properti yang diberikan. |
AttributeProviderAttribute(Type) |
Menginisialisasi instans AttributeProviderAttribute baru kelas dengan jenis yang diberikan. |
Properti
PropertyName |
Mendapatkan nama properti tempat atribut akan diambil. |
TypeId |
Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute. (Diperoleh dari Attribute) |
TypeName |
Mendapatkan nama jenis assembly yang memenuhi syarat yang diteruskan ke konstruktor. |
Metode
Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
GetHashCode() |
Mengembalikan kode hash untuk instans ini. (Diperoleh dari Attribute) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
IsDefaultAttribute() |
Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
Match(Object) |
Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |