AttributeProviderAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Ö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
- Ö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 object
yazı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. Bu sayede 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ı gösteren 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) |