Aracılığıyla paylaş


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ği, bir özelliği belirli bir DataSource türüyle IListSourceişaretlemek için komutunu AttributeProviderAttribute gösterir. 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 => _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

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 kabul edebilir olmasıdır. Ne yazık ki, bu özellik özelliklerini açıklamak için meta veri eklemek için ortak bir yer sağlar. .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 çaresi.

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 bunları özellik türündeki özniteliklerle birleştirir. Bu durumda, öznitelikler gerçek özellik türünden değil, dosyasından AttributeProviderAttributedöndürülen türden alınır. Bu öznitelik, nesnenin DataGridView.DataSource belirli türünü öğesine işaret etmek için IListSourceüzerinde DataGridView.DataSource kullanılır ve veri bağlamayı etkinleştirmek için uygun meta veriler üzerine IListSource yerleştirilir. Böylece 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

Name Description
AttributeProviderAttribute(String, String)

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

AttributeProviderAttribute(String)

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

AttributeProviderAttribute(Type)

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

Özellikler

Name Description
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 türü adını alır.

Yöntemler

Name Description
Equals(Object)

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

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

Bu örneğin karma kodunu döndürür.

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

Geçerli örneğin Type 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ı gösteren bir değer döndürür.

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

Geçerli Objectbasit bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
_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 kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.