ProvidePropertyAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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) |