Condividi tramite


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

  1. Aggiungere un'istruzione Imports all'inizio del codice sorgente per importare la classe Attribute dallo spazio dei nomi System.

    Imports System.Attribute
    
  2. Creare una routine per recuperare l'attributo.

    Sub RetrieveAttribute()
    
    End Sub
    
  3. 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
    
  4. 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)
    
  5. 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)
    
  6. 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

Applicazione di attributi

Recupero di informazioni memorizzate negli attributi

Riferimenti

GetCustomAttribute

GetCustomAttributes

Operatore GetType

Funzione CType

Funzione IsNothing

Funzione GetAttr

AttributeUsageAttribute