AttributeProviderAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Engedélyezi az attribútum átirányítását. Ez az osztály nem örökölhető.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példakód bemutatja, AttributeProviderAttribute hogy milyen DataSource típusú tulajdonságot IListSourcejelölhet meg. A teljes kódlistát a Az attribútumok alkalmazása Windows Forms vezérlőkben című témakörben talál.
[Category("Data")]
[Description("Indicates the source of data for the control.")]
[RefreshProperties(RefreshProperties.Repaint)]
[AttributeProvider(typeof(IListSource))]
public object DataSource
{
get => _dataGridView1.DataSource;
set => _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
Megjegyzések
A .NET-keretrendszer objektummodelljében van néhány olyan eset, amikor egy tulajdonság szándékosan homályosnak van begépelve. A tulajdonság például a DataGridView.DataSource következőképpen van begépelve object: . Ennek az az oka, hogy ez a tulajdonság több típusú bemenetet is elfogadhat. Sajnos ez nem biztosít általános helyet metaadatok hozzáadásához a tulajdonság jellemzőinek leírásához. A .NET-keretrendszer minden DataSource tulajdonságának azonos metaadatokkal kell rendelkeznie a típuskonverterekhez, a felhasználói felület típusszerkesztőihez és más metaadatokat igénylő szolgáltatásokhoz. A AttributeProviderAttribute megoldás erre a helyzetre.
Ha ezt az attribútumot egy tulajdonságra helyezi, a tulajdonságleíró MemberDescriptor.Attributes gyűjteményéhez tartozó attribútumok beszerzésének szabályai eltérnek. A tulajdonságleíró általában összegyűjti a helyi attribútumokat, majd egyesíti őket a tulajdonságtípus attribútumaival. Ebben az esetben az attribútumok nem a tényleges tulajdonságtípusból, hanem a AttributeProviderAttributevisszaadott típusból származnak. Ez az attribútum arra szolgál, hogy az DataGridView.DataSource objektum adott típusára DataGridView.DataSourcemutassonIListSource, és a megfelelő metaadatok legyenek elhelyezve IListSource az adatkötés engedélyezéséhez. Ennek során a külső felek könnyen hozzáadhatnak metaadatokat az összes adatforráshoz.
A deklarált AttributeProviderAttribute típusból beszerzett attribútumok prioritással rendelkeznek a tulajdonság típusának attribútumai és a tulajdonság attribútumai között. Az alábbi lista prioritási sorrendben az elérhető egyesített attribútumok teljes készletét jeleníti meg:
Tulajdonságattribútumok
Attribútumszolgáltatói attribútumok
Tulajdonságtípus-attribútumok
Konstruktorok
| Name | Description |
|---|---|
| AttributeProviderAttribute(String, String) |
Inicializálja az osztály új példányát a AttributeProviderAttribute megadott típusnévvel és tulajdonságnévvel. |
| AttributeProviderAttribute(String) |
Inicializálja az AttributeProviderAttribute osztály új példányát a megadott típusnévvel. |
| AttributeProviderAttribute(Type) |
Inicializálja az AttributeProviderAttribute osztály új példányát az adott típussal. |
Tulajdonságok
| Name | Description |
|---|---|
| PropertyName |
Lekéri annak a tulajdonságnak a nevét, amelyhez az attribútumok le lesznek kérve. |
| TypeId |
Ha származtatott osztályban implementálják, ehhez egy egyedi azonosítót Attributekap. (Öröklődés forrása Attribute) |
| TypeName |
Lekéri a konstruktornak átadott szerelvény-minősített típusnevet. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Olyan értéket ad vissza, amely jelzi, hogy ez a példány egyenlő-e egy adott objektummal. (Öröklődés forrása Attribute) |
| GetHashCode() |
A példány kivonatkódját adja vissza. (Öröklődés forrása Attribute) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |