AttributeProviderAttribute Sınıf

Tanım

Öznitelik yeniden yönlendirmeyi etkinleştirir. Bu sınıf devralınamaz.

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
Devralma
AttributeProviderAttribute
Öznitelikler

Örnekler

Aşağıdaki kod örneğinde, bir özelliği belirli bir DataSource türüyle işaretlemek için kullanma AttributeProviderAttribute gösterilmektedirIListSource. Tam kod listesi için bkz. Nasıl yapılır: Windows Forms Denetimlerinde Öznitelikleri Uygulama.

[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

Açıklamalar

.NET Framework nesne modelinde bir özelliğin kasten belirsiz olarak yazıldığı birkaç durum vardır. Örneğin, DataGridView.DataSource özelliği olarak objectyazılır. Bunun nedeni, bu özelliğin çeşitli giriş türlerini kabulabilmesidir. Ne yazık ki, bu özellik özelliklerini açıklamak için meta veri eklemek için ortak bir yer sağlamaz. .NET Framework genelindeki her DataSource özelliğin tür dönüştürücüleri, UI türü düzenleyicileri ve meta veri gerektiren diğer hizmetler için aynı meta verileri olması gerekir. Bu AttributeProviderAttribute durumun çözümleri.

Bu öznitelik bir özelliğe yerleştirildikten sonra, özellik tanımlayıcısının MemberDescriptor.Attributes koleksiyonu için öznitelikleri alma kuralları farklılık gösterir. Genellikle, özellik tanımlayıcısı yerel öznitelikleri toplar ve sonra bunları özellik türündeki özniteliklerle birleştirir. Bu durumda, öznitelikler gerçek özellik türünden değil, türünden AttributeProviderAttributedöndürülen türünden alınır. Bu öznitelik nesnenin DataGridView.DataSource belirli türünü öğesine işaret etmek için IListSourcekullanılır DataGridView.DataSource ve veri bağlamayı etkinleştirmek için uygun meta veriler üzerine IListSource yerleştirilir. Bunu yaparken, dış taraflar tüm veri kaynaklarına kolayca meta veri ekleyebilir.

içinde AttributeProviderAttribute bildirilen bir türden alınan öznitelikler, özelliğin türünün öznitelikleri ile özelliğindeki öznitelikler arasında bir önceliğe sahiptir. Aşağıdaki liste, öncelik sırasına göre kullanılabilir birleştirilmiş özniteliklerin tam kümesini gösterir:

  • Özellik Öznitelikleri

  • Öznitelik Sağlayıcısı Öznitelikleri

  • Özellik Türü Öznitelikleri

Oluşturucular

AttributeProviderAttribute(String)

Verilen tür adıyla sınıfının yeni bir örneğini AttributeProviderAttribute başlatır.

AttributeProviderAttribute(String, String)

Verilen tür adı ve özellik adıyla sınıfının yeni bir örneğini AttributeProviderAttribute başlatır.

AttributeProviderAttribute(Type)

Verilen türe sahip sınıfın AttributeProviderAttribute yeni bir örneğini başlatır.

Özellikler

PropertyName

Özniteliklerin alınacağı özelliğin adını alır.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)
TypeName

Oluşturucuya geçirilen derleme tam tür adını alır.

Yöntemler

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını belirten bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.