ProvidePropertyAttribute Klasse

Definition

Gibt den Namen der Eigenschaft an, die ein Implementierer von IExtenderProvider anderen Komponenten anbietet. Diese Klasse kann nicht vererbt werden.

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
Vererbung
ProvidePropertyAttribute
Attribute

Beispiele

Im folgenden Beispiel wird mit einer ProvidePropertyAttribute Markierung gekennzeichnetMyClass, die dem Compiler angibt, eine eigenschaft zu erstellen, die aus den GetMyProperty und SetMyProperty den Methoden aufgerufen wirdMyProperty.

[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

Hinweise

Wenn Sie eine Klasse mit diesem Attribut markieren, teilen Sie dem Codegenerator mit, eine Extendereigenschaft mit dem von Ihnen angegebenen Namen zu erstellen. Die markierte Klasse muss implementiert werden IExtenderProvider. Daher kann die neue Eigenschaft von anderen Komponenten in einem Container verwendet werden.

Innerhalb der markierten Klasse müssen Sie Namen- und Set<Namensmethoden> implementierenGet<.> Wenn Sie beispielsweise eine Klasse mit [ProvideProperty("PropertyName")] markieren, müssen Sie implementieren und SetPropertyName methoden verwendenGetPropertyName. Um anzugeben, dass es sich bei der neuen Eigenschaft um eine Extendereigenschaft handelt, müssen Sie sie IExtenderProviderimplementieren, sie müssen auch eine CanExtend Methode implementieren.

Weitere Informationen finden Sie unter Attribute.

Konstruktoren

Name Beschreibung
ProvidePropertyAttribute(String, String)

Initialisiert eine neue Instanz der ProvidePropertyAttribute Klasse mit dem Namen der Eigenschaft und dem Typ des Empfängers.

ProvidePropertyAttribute(String, Type)

Initialisiert eine neue Instanz der ProvidePropertyAttribute Klasse mit dem Namen der Eigenschaft und dessen Type.

Eigenschaften

Name Beschreibung
PropertyName

Ruft den Namen einer Eigenschaft ab, die diese Klasse bereitstellt.

ReceiverTypeName

Ruft den Namen des Datentyps ab, den diese Eigenschaft erweitern kann.

TypeId

Ruft einen eindeutigen Bezeichner für dieses Attribut ab.

Methoden

Name Beschreibung
Equals(Object)

Gibt zurück, ob der Wert des angegebenen Objekts dem aktuellen ProvidePropertyAttributeentspricht.

GetHashCode()

Gibt den Hashcode für diesen instance zurück.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
IsDefaultAttribute()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, gibt an, ob der Wert dieser Instanz der Standardwert für die abgeleitete Klasse ist.

(Geerbt von Attribute)
Match(Object)

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem angegebenen Objekt entspricht.

(Geerbt von Attribute)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.

(Geerbt von Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit denen die Typinformationen für eine Schnittstelle abgerufen werden können.

(Geerbt von Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).

(Geerbt von Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bietet Zugriff auf Eigenschaften und Methoden, die von einem Objekt verfügbar gemacht werden.

(Geerbt von Attribute)

Gilt für: