ProvidePropertyAttribute Osztály

Definíció

Megadja annak a tulajdonságnak a nevét, amelyet a más összetevők implementálója IExtenderProvider kínál. Ez az osztály nem örökölhető.

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
Öröklődés
ProvidePropertyAttribute
Attribútumok

Példák

Az alábbi példa egy MyClass olyan tulajdonsággal jelöl, ProvidePropertyAttribute amely arra utasítja a fordítót, hogy hozzon létre egy, a metódusokból és MyProperty metódusokból GetMyProperty hívott SetMyProperty tulajdonságot.

[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

Megjegyzések

Amikor ezzel az attribútummal jelöl meg egy osztályt, a kódgenerátornak meg kell adnia, hogy hozzon létre egy bővítőtulajdonságot az Ön által megadott névvel. A megjelölt osztálynak implementálnia IExtenderProviderkell. Ennek eredményeképpen az új tulajdonságot a tároló más összetevői is használhatják.

A megjelölt osztályon belül név- és Get<névmetodusokat> kell implementálniaSet<.> Ha például megjelöl egy osztályt a [ProvideProperty("PropertyName")] névvel, implementálnia és metódusokat kell alkalmaznia GetPropertyNameSetPropertyName . Ha meg szeretné adni, hogy az új tulajdonság egy bővítő tulajdonság legyen, implementálnia kell a metódust IExtenderProviderCanExtend is.

További információ: Attribútumok.

Konstruktorok

Name Description
ProvidePropertyAttribute(String, String)

Inicializálja az ProvidePropertyAttribute osztály új példányát a tulajdonság nevével és a fogadó típusával.

ProvidePropertyAttribute(String, Type)

Inicializálja az ProvidePropertyAttribute osztály új példányát a tulajdonság nevével és annak Typenevével.

Tulajdonságok

Name Description
PropertyName

Lekéri az osztály által biztosított tulajdonság nevét.

ReceiverTypeName

Lekéri annak az adattípusnak a nevét, amely ezt a tulajdonságot kiterjesztheti.

TypeId

Egyedi azonosítót kap ehhez az attribútumhoz.

Metódusok

Name Description
Equals(Object)

Azt adja vissza, hogy az adott objektum értéke megegyezik-e az aktuális ProvidePropertyAttributeértékkel.

GetHashCode()

A példány kivonatkódját adja vissza.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
IsDefaultAttribute()

Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke.

(Öröklődés forrása Attribute)
Match(Object)

Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e.

(Öröklődés forrása Attribute)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Névkészletet képez le a küldési azonosítók megfelelő készletére.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók.

(Öröklődés forrása Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1).

(Öröklődés forrása Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz.

(Öröklődés forrása Attribute)

A következőre érvényes: