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í jiný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í příklad označí MyClass
značkou ProvidePropertyAttribute , která kompilátoru řekne, aby vytvořil vlastnost volanou MyProperty
z GetMyProperty
metod a SetMyProperty
.
[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
Poznámky
Když označíte třídu tímto atributem, řeknete generátoru kódu, aby vytvořil vlastnost extenderu s názvem, který zadáte. Označená třída musí implementovat IExtenderProvider. V důsledku toho mohou novou vlastnost používat jiné komponenty 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 [ProvideProperty("PropertyName")), musíte implementovat GetPropertyName
metody a SetPropertyName
. 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 najdete v tématu Atributy.
Konstruktory
ProvidePropertyAttribute(String, String) |
Inicializuje novou instanci ProvidePropertyAttribute třídy s názvem vlastnosti a typem jejího příjemce. |
ProvidePropertyAttribute(String, Type) |
Inicializuje novou instanci ProvidePropertyAttribute třídy s názvem vlastnosti a její Type. |
Vlastnosti
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. |
TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tuto Attributetřídu . (Zděděno od Attribute) |
Metody
Equals(Object) |
Vrátí, zda je hodnota daného objektu rovna aktuálnímu ProvidePropertyAttributeobjektu . |
GetHashCode() |
Vrátí hodnotu hash pro tuto instanci. |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
IsDefaultAttribute() |
Při přepsání v odvozené třídě označuje, zda je hodnota této instance 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á označuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
_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) |