ProvidePropertyAttribute Sınıf

Tanım

Bir uygulayıcısının diğer bileşenlere sunduğu özelliğin IExtenderProvider 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
public sealed class ProvidePropertyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)>]
type ProvidePropertyAttribute = class
    inherit Attribute
type ProvidePropertyAttribute = class
    inherit Attribute
Public NotInheritable Class ProvidePropertyAttribute
Inherits Attribute
Devralma
ProvidePropertyAttribute
Öznitelikler

Örnekler

Aşağıdaki örnekMyClass, ProvidePropertyAttribute derleyiciye ve SetMyProperty yöntemlerinden adlı MyProperty bir özellik oluşturmasını GetMyProperty söyleyen ile işaretler.

[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 = null;
    // Provides the Get portion of MyProperty. 
    public CultureInfo GetMyProperty(Control myControl) {
        // Insert code here.
        return 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) {
        return(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 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

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

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.

TypeId

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

(Devralındığı yer: Attribute)

Yöntemler

Equals(Object)

Verilen nesnenin değerinin geçerli ProvidePropertyAttributedeğerine eşit olup olmadığını döndürür.

GetHashCode()

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

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)

Şunlara uygulanır