Modifiez le nom d'affichage de membres de l'énumération dans une grille de propriété

J'ai une propriété de la grille que j'utilise pour que les utilisateurs soient en mesure de configurer des objets pour n'importe quel plugin qui est écrit pour l'utiliser dans mon application. Je voudrais être en mesure de dire les développeurs à écrire des plugins à utiliser le ComponentModel Attributs pour leurs membres comme suit:

[CategoryAttribute("On Screen Display Settings"),
 DescriptionAttribute("Whether or not to show the session timer."),
 DisplayName("Show Session Timer")]
 public bool ShowTimer
 {
    get;
    set;
 }

Cela fonctionne très bien. Maintenant, je voudrais que les membres d'une énumération, pour pouvoir être édité. c'est à dire

public enum Resolution_ : byte
{
    DCIF,
    CIF,
    QCIF,
    [DisplayName("4CIF")]
    CIF4,
    [DisplayName("2CIF")]
    CIF2
}

De sorte qu'ils sont affichés dans la grille des propriétés de la liste comme suit:

 DCIF
 CIF
 QCIF
 CIF4
 CIF2

Ainsi que toutes les Descriptions et les noms d'Affichage qu'ils peuvent avoir avec eux.

Il semble que je peux le faire uniquement avec des propriétés, événements et méthodes. Personne ne sait comment je peux faire ceci pour une énumération?

OriginalL'auteur Jonathan Henson | 2011-09-14