ProvidePropertyAttribute Class

Definition

Gibt den Namen der Eigenschaft an, die ein Implementierer von IExtenderProvider für andere Komponenten bereitstellt.Specifies the name of the property that an implementer of IExtenderProvider offers to other components. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class ProvidePropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)]
public sealed class ProvidePropertyAttribute : Attribute
public sealed class ProvidePropertyAttribute : Attribute
type ProvidePropertyAttribute = class
    inherit Attribute
Public NotInheritable Class ProvidePropertyAttribute
Inherits Attribute
Inheritance
ProvidePropertyAttribute
Attributes

Examples

Im folgenden Beispiel wird MyClass mit einer ProvidePropertyAttribute markiert, die den Compiler anweist, eine Eigenschaft namens MyProperty aus den Methoden GetMyProperty und SetMyProperty zu erstellen.The following example marks MyClass with a ProvidePropertyAttribute that tells the compiler to create a property called MyProperty from the GetMyProperty and SetMyProperty methods.

[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

Remarks

Wenn Sie eine Klasse mit diesem Attribut markieren, weisen Sie den Code-Generator an, eine Extendereigenschaft mit dem von Ihnen angegebenen Namen zu erstellen.When you mark a class with this attribute, you tell the code generator to create an extender property with the name you provide. Die markierte Klasse muss IExtenderProviderimplementieren.The marked class must implement IExtenderProvider. Folglich kann die neue Eigenschaft von anderen Komponenten in einem Container verwendet werden.As a result, the new property can be used by other components in a container.

Innerhalb der markierten Klasse müssen Sie Get <Namen > implementieren und <Methoden Set > benennen.Within the marked class, you must implement Get <name> and Set <name> methods. Wenn Sie z. b. eine Klasse mit [ProvideProperty ("PropertyName")] markieren, müssen Sie GetPropertyName-und SetPropertyName-Methoden implementieren.For example, if you mark a class with [ProvideProperty("PropertyName")], you must implement GetPropertyName and SetPropertyName methods. Um anzugeben, dass die neue Eigenschaft eine Extendereigenschaft sein soll, IExtenderProvidermüssen Sie eine CanExtend Methode implementieren.To specify that the new property will be an extender property, you must implement from IExtenderProvider, you must also implement a CanExtend method.

Weitere Informationen finden Sie unter Attribute.For more information, see Attributes.

Constructors

ProvidePropertyAttribute(String, String)

Initialisiert eine neue Instanz der ProvidePropertyAttribute-Klasse mit dem Namen der Eigenschaft und dem Typ des Empfängers.Initializes a new instance of the ProvidePropertyAttribute class with the name of the property and the type of its receiver.

ProvidePropertyAttribute(String, Type)

Initialisiert eine neue Instanz der ProvidePropertyAttribute-Klasse mit dem Namen der Eigenschaft und deren Type.Initializes a new instance of the ProvidePropertyAttribute class with the name of the property and its Type.

Properties

PropertyName

Ruft den Namen einer Eigenschaft ab, die von dieser Klasse bereitgestellt wird.Gets the name of a property that this class provides.

ReceiverTypeName

Ruft den Namen des Datentyps ab, den diese Eigenschaft erweitern kann.Gets the name of the data type this property can extend.

TypeId

Ruft einen eindeutigen Bezeichner für dieses Attribut ab.Gets a unique identifier for this attribute.

TypeId

Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Methods

Equals(Object)

Gibt zurück, ob der Wert des angegebenen Objekts gleich dem aktuellen ProvidePropertyAttribute ist.Returns whether the value of the given object is equal to the current ProvidePropertyAttribute.

GetHashCode()

Gibt den Hashcode für diese Instanz zurück.Returns the hash code for this instance.

GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute()

Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object)

Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explicit Interface Implementations

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

Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Applies to