ProvidePropertyAttribute Klasse

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
type ProvidePropertyAttribute = class
    inherit Attribute
Public NotInheritable Class ProvidePropertyAttribute
Inherits Attribute
Vererbung
ProvidePropertyAttribute
Attribute

Beispiele

Im folgenden Beispiel wird MyClass mit einem ProvidePropertyAttribute markiert, das den Compiler anweist, eine Eigenschaft mit dem Namen MyProperty aus den GetMyProperty-und SetMyProperty-Methoden 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

Hinweise

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 IExtenderProvider implementieren.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 <name > und Set <Name >-Methoden implementieren.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 es sich bei der neuen Eigenschaft um eine Extendereigenschaft handelt, müssen Sie die Implementierung von IExtenderProvider implementieren. Außerdem mü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.

Konstruktoren

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.

Eigenschaften

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.

Methoden

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.

(Geerbt von 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.

(Geerbt von 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.

(Geerbt von Attribute)
MemberwiseClone()

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

(Geerbt von Object)
ToString()

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

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

_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.

(Geerbt von 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.

(Geerbt von 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).

(Geerbt von 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.

(Geerbt von Attribute)

Gilt für: