ProvidePropertyAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje název vlastnosti, kterou implementátor IExtenderProvider nabízí ostatním komponentám. Tato třída se nemůže dědit.
public ref class ProvidePropertyAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)]
public sealed class ProvidePropertyAttribute : Attribute
public sealed class ProvidePropertyAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true)>]
type ProvidePropertyAttribute = class
inherit Attribute
type ProvidePropertyAttribute = class
inherit Attribute
Public NotInheritable Class ProvidePropertyAttribute
Inherits Attribute
- Dědičnost
- Atributy
Příklady
Následující ukázkové značky MyClass s pokynem ProvidePropertyAttribute kompilátoru, aby vytvořil vlastnost volanou MyProperty z metod GetMyProperty a SetMyProperty metod.
[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
Poznámky
Když označíte třídu pomocí tohoto atributu, sdělíte generátoru kódu, aby vytvořil rozšiřující vlastnost s názvem, který zadáte. Označená třída musí implementovat IExtenderProvider. V důsledku toho lze novou vlastnost použít jinými komponentami v kontejneru.
V rámci označené třídy musíte implementovat Get<metody názvů> a Set<názvů> . Pokud například označíte třídu s [ProvideProperty("PropertyName")], musíte implementovat GetPropertyName a SetPropertyName metody. Chcete-li určit, že nová vlastnost bude rozšiřující vlastnost, musíte implementovat z IExtenderProvider, musíte také implementovat metodu CanExtend .
Další informace naleznete v tématu Atributy.
Konstruktory
| Name | Description |
|---|---|
| ProvidePropertyAttribute(String, String) |
Inicializuje novou instanci ProvidePropertyAttribute třídy s názvem vlastnosti a typem jeho příjemce. |
| ProvidePropertyAttribute(String, Type) |
Inicializuje novou instanci ProvidePropertyAttribute třídy s názvem vlastnosti a jeho Type. |
Vlastnosti
| Name | Description |
|---|---|
| PropertyName |
Získá název vlastnosti, kterou tato třída poskytuje. |
| ReceiverTypeName |
Získá název datového typu, který může tato vlastnost rozšířit. |
| TypeId |
Získá jedinečný identifikátor pro tento atribut. |
Metody
| Name | Description |
|---|---|
| Equals(Object) |
Vrátí, zda hodnota daného objektu je rovna aktuální ProvidePropertyAttribute. |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |