ProvidePropertyAttribute Classe

Définition

Spécifie le nom de la propriété qu’un implémenteur de IExtenderProvider offre à d’autres composants. Cette classe ne peut pas être héritée.

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
Héritage
ProvidePropertyAttribute
Attributs

Exemples

L’exemple suivant marque MyClass avec un ProvidePropertyAttribute qui indique au compilateur de créer une propriété appelée MyProperty à partir des méthodes et SetMyProperty des GetMyProperty méthodes.

[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

Remarques

Lorsque vous marquez une classe avec cet attribut, vous indiquez au générateur de code de créer une propriété d’extendeur avec le nom que vous fournissez. La classe marquée doit implémenter IExtenderProvider. Par conséquent, la nouvelle propriété peut être utilisée par d’autres composants dans un conteneur.

Dans la classe marquée, vous devez implémenter Get<des méthodes de nom et<Set de nom>>. Par exemple, si vous marquez une classe avec [ProvideProperty(« PropertyName »)], vous devez implémenter GetPropertyName et SetPropertyName utiliser des méthodes. Pour spécifier que la nouvelle propriété sera une propriété d’extendeur, vous devez implémenter à partir de IExtenderProvider, vous devez également implémenter une CanExtend méthode.

Pour plus d’informations, consultez Attributs.

Constructeurs

Nom Description
ProvidePropertyAttribute(String, String)

Initialise une nouvelle instance de la ProvidePropertyAttribute classe avec le nom de la propriété et le type de son récepteur.

ProvidePropertyAttribute(String, Type)

Initialise une nouvelle instance de la ProvidePropertyAttribute classe avec le nom de la propriété et son Type.

Propriétés

Nom Description
PropertyName

Obtient le nom d’une propriété que cette classe fournit.

ReceiverTypeName

Obtient le nom du type de données que cette propriété peut étendre.

TypeId

Obtient un identificateur unique pour cet attribut.

Méthodes

Nom Description
Equals(Object)

Retourne si la valeur de l’objet donné est égale à la valeur actuelle ProvidePropertyAttribute.

GetHashCode()

Retourne le code de hachage pour cette instance.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut de la classe dérivée.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type d’un objet, qui peuvent être utilisées pour obtenir les informations de type d’une interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l’accès aux propriétés et méthodes exposées par un objet.

(Hérité de Attribute)

S’applique à