ProvidePropertyAttribute Klas

Definitie

Hiermee geeft u de naam van de eigenschap die een implementeerfunctie van IExtenderProvider aanbiedingen aan andere onderdelen. Deze klasse kan niet worden overgenomen.

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
Overname
ProvidePropertyAttribute
Kenmerken

Voorbeelden

In het volgende voorbeeld wordt MyClass aangegeven dat ProvidePropertyAttribute de compiler een eigenschap moet maken die wordt aangeroepen MyProperty op basis van de GetMyProperty en SetMyProperty methoden.

[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

Opmerkingen

Wanneer u een klasse markeert met dit kenmerk, vertelt u de codegenerator om een extender-eigenschap te maken met de naam die u opgeeft. De gemarkeerde klasse moet worden geïmplementeerd IExtenderProvider. Als gevolg hiervan kan de nieuwe eigenschap worden gebruikt door andere onderdelen in een container.

Binnen de gemarkeerde klasse moet u naam- en Set<naammethoden> implementerenGet<.> Als u bijvoorbeeld een klasse markeert met [ProvideProperty("PropertyName"), moet u implementeren GetPropertyName en SetPropertyName methoden gebruiken. Als u wilt opgeven dat de nieuwe eigenschap een extender-eigenschap is, moet u implementeren van IExtenderProvider, moet u ook een CanExtend methode implementeren.

Zie Kenmerken voor meer informatie.

Constructors

Name Description
ProvidePropertyAttribute(String, String)

Initialiseert een nieuw exemplaar van de ProvidePropertyAttribute klasse met de naam van de eigenschap en het type ontvanger.

ProvidePropertyAttribute(String, Type)

Initialiseert een nieuw exemplaar van de ProvidePropertyAttribute klasse met de naam van de eigenschap en de bijbehorende Type.

Eigenschappen

Name Description
PropertyName

Hiermee haalt u de naam op van een eigenschap die deze klasse biedt.

ReceiverTypeName

Hiermee haalt u de naam op van het gegevenstype dat deze eigenschap kan uitbreiden.

TypeId

Hiermee haalt u een unieke id voor dit kenmerk op.

Methoden

Name Description
Equals(Object)

Geeft als resultaat of de waarde van het opgegeven object gelijk is aan de huidige ProvidePropertyAttribute.

GetHashCode()

Retourneert de hash-code voor dit exemplaar.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
IsDefaultAttribute()

Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse.

(Overgenomen van Attribute)
Match(Object)

Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object.

(Overgenomen van Attribute)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Expliciete interface-implementaties

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

Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's.

(Overgenomen van Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen.

(Overgenomen van Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1).

(Overgenomen van Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven.

(Overgenomen van Attribute)

Van toepassing op