ProvidePropertyAttribute Sınıf

Tanım

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
ProvidePropertyAttribute
Ö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)

Şunlara uygulanır