Comment : fournir des descriptions de métadonnées relatives à votre composant
Mise à jour : novembre 2007
Vous pouvez fournir des métadonnées descriptives concernant votre composant en vous servant des attributes. Les attributs sont des classes spécialisées qui s'appliquent aux éléments du code. Au moment de la compilation, ils sont émis vers des métadonnées mises à la disposition du Common Language Runtime ou d'outils et d'applications personnalisés par le biais de l'espace de noms System.Reflection.
Pour attacher un attribut à un composant, faites précéder celui-ci d'une référence à l'attribut et fournissez les paramètres ou les indicateurs appropriés. Cet appel au constructeur est placé entre crochets pointus <> en Visual Basic et entre crochets droits [] en C#.
Par convention, toutes les classes d'attribut se terminent par « Attribute ». Par exemple, il y a les classes DescriptionAttribute, ObsoleteAttribute et BrowsableAttribute. Toutefois, plusieurs langages ciblant le Common Language Runtime, notamment Visual Basic et C#, n'exigent pas le nom complet de l'attribut. Par exemple, ObsoleteAttribute peut apparaître dans le code sous la forme Obsolete.
Pour attacher un attribut existant à votre composant
Déterminez les attributs nécessaires à votre composant.
Attachez ces attributs à votre composant. Notez que vous devez soit utiliser le nom complet de l'attribut soit ajouter l'instruction Imports (using) appropriée. L'exemple suivant montre comment attacher l'attribut DescriptionAttribute :
Imports System.ComponentModel <Description("This is a description string")> Public Class TheClass End Class
using System.ComponentModel; [Description("This is a description string")] public class TheClass { }
Attributs personnalisés
Vous pouvez également créer vos propres attributs à utiliser avec vos propres outils ou applications personnalisés en héritant de Attribute. Vous pouvez ajouter à cette classe de base toute propriété ou méthode personnalisée nécessaire à votre application.
Pour créer et appliquer un attribut personnalisé
Créez une classe qui hérite de Attribute.
Public Class WidgetAttribute Inherits System.Attribute End Class
public class WidgetAttribute: System.Attribute { }
Déterminez les propriétés et méthodes dont votre attribut a besoin et écrivez pour eux du code. L'exemple suivant vous montre comment créer une propriété WidgetType qui est définie dans le constructeur de la classe WidgetAttribute. L'attributAttributeUsageAttribute désigne les membres de code que l'attribut peut cibler.
<AttributeUsage(System.AttributeTargets.Class)> Public Class _ WidgetAttribute Inherits System.Attribute Private mWidgetType as WidgetTypeEnum ' Creates a readonly property for the WidgetAttribute class. Public ReadOnly Property WidgetType as WidgetTypeEnum Get Return mWidgetType End Get End Property ' Creates a constructor that accepts a parameter and assigns the ' value of that parameter to the WidgetType property. Public Sub New(type as WidgetTypeEnum) MyBase.New() mWidgetType = type End Sub End Class
[AttributeUsage(System.AttributeTargets.Class)] public class WidgetAttribute: System.Attribute { private WidgetTypeEnum widgetType; // Creates a readonly property for the WidgetAttribute class. public WidgetTypeEnum WidgetType { get {return widgetType;} } public WidgetAttribute(WidgetTypeEnum type): base() { widgetType = type; } }
Appliquez cet attribut comme n'importe quel autre attribut, en veillant à appliquer tous les paramètres nécessaires.
<WidgetAttribute(WidgetTypeEnum.VerticalWidget)> _ Public Class WidgetFortyFive End Class
[WidgetAttribute(WidgetTypeEnum.VerticalWidget)] public class WidgetFortyFive { }
Voir aussi
Tâches
Comment : fournir des métadonnées pour les propriétés, les méthodes et les événements
Concepts
Accès aux attributs personnalisés
Récupération des informations stockées dans les attributs