ProvidePropertyAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
- 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) |