ProvidePropertyAttribute Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Megadja annak a tulajdonságnak a nevét, amelyet a más összetevők implementálója IExtenderProvider kínál. Ez az osztály nem örökölhető.
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
- Öröklődés
- Attribútumok
Példák
Az alábbi példa egy MyClass olyan tulajdonsággal jelöl, ProvidePropertyAttribute amely arra utasítja a fordítót, hogy hozzon létre egy, a metódusokból és MyProperty metódusokból GetMyProperty hívott SetMyProperty tulajdonságot.
[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
Megjegyzések
Amikor ezzel az attribútummal jelöl meg egy osztályt, a kódgenerátornak meg kell adnia, hogy hozzon létre egy bővítőtulajdonságot az Ön által megadott névvel. A megjelölt osztálynak implementálnia IExtenderProviderkell. Ennek eredményeképpen az új tulajdonságot a tároló más összetevői is használhatják.
A megjelölt osztályon belül név- és Get<névmetodusokat> kell implementálniaSet<.> Ha például megjelöl egy osztályt a [ProvideProperty("PropertyName")] névvel, implementálnia és metódusokat kell alkalmaznia GetPropertyNameSetPropertyName . Ha meg szeretné adni, hogy az új tulajdonság egy bővítő tulajdonság legyen, implementálnia kell a metódust IExtenderProviderCanExtend is.
További információ: Attribútumok.
Konstruktorok
| Name | Description |
|---|---|
| ProvidePropertyAttribute(String, String) |
Inicializálja az ProvidePropertyAttribute osztály új példányát a tulajdonság nevével és a fogadó típusával. |
| ProvidePropertyAttribute(String, Type) |
Inicializálja az ProvidePropertyAttribute osztály új példányát a tulajdonság nevével és annak Typenevével. |
Tulajdonságok
| Name | Description |
|---|---|
| PropertyName |
Lekéri az osztály által biztosított tulajdonság nevét. |
| ReceiverTypeName |
Lekéri annak az adattípusnak a nevét, amely ezt a tulajdonságot kiterjesztheti. |
| TypeId |
Egyedi azonosítót kap ehhez az attribútumhoz. |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Azt adja vissza, hogy az adott objektum értéke megegyezik-e az aktuális ProvidePropertyAttributeértékkel. |
| GetHashCode() |
A példány kivonatkódját adja vissza. |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| IsDefaultAttribute() |
Ha egy származtatott osztályban felül van bírálva, azt jelzi, hogy a példány értéke-e a származtatott osztály alapértelmezett értéke. (Öröklődés forrása Attribute) |
| Match(Object) |
Származtatott osztály felülírásakor egy olyan értéket ad vissza, amely jelzi, hogy ez a példány egy adott objektummal egyenlő-e. (Öröklődés forrása Attribute) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Névkészletet képez le a küldési azonosítók megfelelő készletére. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Lekéri egy objektum típusadatait, amelyek a felület típusadatainak lekérésére használhatók. (Öröklődés forrása Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Lekéri az objektumok által biztosított típusinformációs felületek számát (0 vagy 1). (Öröklődés forrása Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Hozzáférést biztosít az objektumok által közzétett tulajdonságokhoz és metódusokhoz. (Öröklődés forrása Attribute) |