AttributeProviderAttribute Osztály

Definíció

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
AttributeProviderAttribute
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)

A következőre érvényes:

Lásd még