ProvidePropertyAttribute 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.
IExtenderProvider uygulayıcısının diğer bileşenlere sunduğu özelliğin adını belirtir. Bu sınıf devralınamaz.
public ref class ProvidePropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)]
public sealed class ProvidePropertyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)>]
type ProvidePropertyAttribute = class
inherit Attribute
Public NotInheritable Class ProvidePropertyAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, derleyiciye ve SetMyProperty yöntemlerinden adlı MyProperty bir özellik oluşturmasını GetMyProperty söyleyen ile işaretlerMyClass.ProvidePropertyAttribute
[ProvideProperty("MyProperty",Control::typeid)]
public ref class MyClass: public IExtenderProvider
{
protected:
CultureInfo^ ciMine;
public:
// Provides the Get portion of MyProperty.
CultureInfo^ GetMyProperty( Control^ myControl )
{
// Insert code here.
return ciMine;
}
// Provides the Set portion of MyProperty.
void SetMyProperty( Control^ myControl, String^ value )
{
// Insert code here.
}
/* When you inherit from IExtenderProvider, you must implement the
* CanExtend method. */
virtual bool CanExtend( Object^ target )
{
return dynamic_cast<Control^>(target) != nullptr;
}
// Insert additional code here.
};
[ProvideProperty("MyProperty", typeof(Control))]
public class MyClass : IExtenderProvider
{
protected CultureInfo ciMine;
// Provides the Get portion of MyProperty.
public CultureInfo GetMyProperty(Control myControl) =>
// Insert code here.
ciMine;
// Provides the Set portion of MyProperty.
public void SetMyProperty(Control myControl, string value)
{
// Insert code here.
}
/* When you inherit from IExtenderProvider, you must implement the
* CanExtend method. */
public bool CanExtend(object target) => target is Control;
// Insert additional code here.
}
<ProvideProperty("MyProperty", GetType(Control))> _
Public Class SampleClass
Implements IExtenderProvider
Protected ciMine As CultureInfo = Nothing
' Provides the Get portion of MyProperty.
Public Function GetMyProperty(myControl As Control) As CultureInfo
' Insert code here.
Return ciMine
End Function 'GetMyProperty
' Provides the Set portion of MyProperty.
Public Sub SetMyProperty(myControl As Control, value As String)
' Insert code here.
End Sub
' When you inherit from IExtenderProvider, you must implement the
' CanExtend method.
Public Function CanExtend(target As [Object]) As Boolean Implements IExtenderProvider.CanExtend
Return TypeOf target Is Control
End Function 'CanExtend
' Insert additional code here.
End Class
Açıklamalar
Bir sınıfı bu öznitelikle işaretlediğinizde, kod oluşturucuya sağladığınız adla bir extender özelliği oluşturmasını söylersiniz. İşaretli sınıfı uygulaması IExtenderProvidergerekir. Sonuç olarak, yeni özellik bir kapsayıcıdaki diğer bileşenler tarafından kullanılabilir.
İşaretli sınıfın içinde ad ve Set<ad>> yöntemleri uygulamanız Get<gerekir. Örneğin, bir sınıfı [ProvideProperty("PropertyName")] ile işaretlerseniz ve SetPropertyName yöntemlerini uygulamanız GetPropertyName gerekir. Yeni özelliğin bir extender özelliği olacağını belirtmek için, uygulamasından IExtenderProvideruygulamanız gerekir, ayrıca bir CanExtend yöntem de uygulamanız gerekir.
Daha fazla bilgi için bkz . Öznitelikler.
Oluşturucular
| Name | Description |
|---|---|
| ProvidePropertyAttribute(String, String) |
özelliğinin ProvidePropertyAttribute adı ve alıcısının türüyle sınıfının yeni bir örneğini başlatır. |
| ProvidePropertyAttribute(String, Type) |
özelliğinin Typeve öğesinin ProvidePropertyAttribute adıyla sınıfının yeni bir örneğini başlatır. |
Özellikler
| Name | Description |
|---|---|
| PropertyName |
Bu sınıfın sağladığı bir özelliğin adını alır. |
| ReceiverTypeName |
Bu özelliğin genişletebileceği veri türünün adını alır. |
| TypeId |
Bu öznitelik için benzersiz bir tanımlayıcı alır. |
Yöntemler
| Name | Description |
|---|---|
| Equals(Object) |
Verilen nesnenin değerinin geçerli ProvidePropertyAttributedeğerine eşit olup olmadığını döndürür. |
| GetHashCode() |
Bu örneğin karma kodunu döndürür. |
| 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) |