Double Possible:
Trouver une valeur d'enum par sa Description de l'AttributJ'ai une extension générique de la méthode qui obtient l'
Description
d'attribut à partir d'unEnum
:enum Animal { [Description("")] NotSet = 0, [Description("Giant Panda")] GiantPanda = 1, [Description("Lesser Spotted Anteater")] LesserSpottedAnteater = 2 } public static string GetDescription(this Enum value) { FieldInfo field = value.GetType().GetField(value.ToString()); DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute; return attribute == null ? value.ToString() : attribute.Description; }
afin que je puisse faire...
string myAnimal = Animal.GiantPanda.GetDescription(); // = "Giant Panda"
maintenant, je suis en train de travailler sur la fonction équivalente dans l'autre sens, quelque chose comme...
Animal a = (Animal)Enum.GetValueFromDescription("Giant Panda", typeof(Animal));
Réponses
Trop de publicités?
Dean Chalk
Points
7935
Theo Koekemoer
Points
91
Jamiec
Points
35773
GenericTypeTea
Points
27689
Vous ne pouvez pas étendre car c’est une classe statique. Vous pouvez uniquement étendre les instances d’un type. Dans cette optique, vous allez devoir créer une méthode statique vous-même de le faire ; ce qui suit devrait fonctionner lorsqu’il est combiné avec votre méthode existante
:
Et l’utilisation de celui-ci serait quelque chose comme ceci :