Comment : récupérer les attributs Custom
Mise à jour : novembre 2007
Vous pouvez récupérer des attributs personnalisés à l'aide des méthodes GetCustomAttribute ou GetCustomAttributes de la classe Attribute.
Pour extraire une seule instance d'un attribut personnalisé d'une classe
Ajoutez une instruction Imports tout en haut du code source afin d'importer la classe Attribute à partir de l'espace de noms System :
Imports System.Attribute
Créez une procédure destinée à extraire l'attribut :
Sub RetrieveAttribute() End Sub
Dans cette procédure, déclarez une variable de type Attribute et une autre de même type que l'attribut à extraire :
Dim Attr As Attribute Dim CustAttr As CustomAttribute
Utilisez l'opérateur GetType pour passer le type de la classe et l'attribut à un appel à la méthode GetCustomAttribute, puis assignez la valeur retournée à la variable déclarée comme Attribute :
Attr = GetCustomAttribute(Me.GetType, _ GetType(CustomAttribute), False)
Utilisez la fonction CType pour convertir le type de données de l'attribut de l'attribut générique à l'attribut spécifique du type extrait. Assignez ensuite le résultat à la variable déclarée comme le type d'attribut personnalisé :
CustAttr = CType(Attr, CustomAttribute)
Vérifiez si l'attribut a été extrait. Si c'est le cas, utilisez ses champs, ses propriétés et ses méthodes :
If CustAttr Is Nothing Then MsgBox("The attribute was not found.") Else 'Get the label and value from the custom attribute. MsgBox("The attribute label is: " & CustAttr.Label) MsgBox("The attribute value is: " & CustAttr.Value) End If
Dans l'exemple ci-dessus, la procédure RetrieveAttribute appelle la méthode GetCustomAttribute de la classe System.Attribute pour obtenir l'attribut personnalisé appliqué à la classe ThisClass. GetCustomAttribute étant une méthode partagée, il n'est pas nécessaire de créer d'abord une instance de System.Attribute. La fonction CType convertit l'attribut retourné du type System.Attribute au type d'attribut personnalisé CustomAttribute.
Voir aussi
Tâches
Comment : définir vos propres attributs
Concepts
Récupération des informations stockées dans les attributs