Molto spesso per comodità si utilizzano nei programmi gli enumerativi e altrettanto spesso si desidererebbe associare agli elementi una descrizione da utilizzare poi sull'interfaccia utente.
Un metodo può essere quello di utilizzare l'attibuto System.ComponentModel.Description come segue:
Public Enum Prove As Integer
_
Uno
_
Due
_
Tre
End Enum
Per recuperare poi queste descrizioni si può utilizzare la reflection come segue:
Dim fields() As System.Reflection.FieldInfo
fields = GetType(Prove).GetFields(Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Static)
For Each field As System.Reflection.FieldInfo In fields
Dim descriptions() As Object
descriptions = field.GetCustomAttributes( _
GetType(System.ComponentModel.DescriptionAttribute), _
False)
If descriptions.Length > 0 Then
MsgBox(DirectCast(descriptions(0), _
System.ComponentModel.DescriptionAttribute).Description)
End If
Next