Procedura: recuperare attributi personalizzati
Aggiornamento: novembre 2007
Per recuperare attributi personalizzati è possibile utilizzare il metodo GetCustomAttribute o GetCustomAttributes della classe Attribute.
Per recuperare una singola istanza di un attributo personalizzato da una classe
Aggiungere un'istruzione Imports all'inizio del codice sorgente per importare la classe Attribute dallo spazio dei nomi System.
Imports System.Attribute
Creare una routine per recuperare l'attributo.
Sub RetrieveAttribute() End Sub
All'interno della routine dichiarare una variabile di tipo Attribute e un'altra variabile dello stesso tipo dell'attributo che si desidera recuperare.
Dim Attr As Attribute Dim CustAttr As CustomAttribute
Utilizzare l'operatore GetType per passare il tipo della classe e dell'attributo a una chiamata al metodo GetCustomAttribute, quindi assegnare il valore restituito alla variabile dichiarata come Attribute.
Attr = GetCustomAttribute(Me.GetType, _ GetType(CustomAttribute), False)
Utilizzare la funzione CType per convertire il tipo di dati dell'attributo da attributo generico ad attributo specifico del tipo recuperato. Assegnare quindi il risultato alla variabile dichiarata del tipo dell'attributo predefinito.
CustAttr = CType(Attr, CustomAttribute)
Verificare se il recupero dell'attributo è stato effettuato. In caso affermativo, utilizzare i campi, le proprietà e i metodi dell'attributo.
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
Nell'esempio precedente la routine RetrieveAttribute chiama il metodo GetCustomAttribute della classe System.Attribute per applicare l'attributo personalizzato alla classe ThisClass. GetCustomAttribute è un metodo condiviso. Non è pertanto necessario creare prima un'istanza di System.Attribute. La funzione CType converte l'attributo restituito dal tipo System.Attribute nel tipo di attributo personalizzato CustomAttribute.
Vedere anche
Attività
Procedura: definire attributi personalizzati
Concetti
Recupero di informazioni memorizzate negli attributi