EnumHelper.cs
Description du code
EnumHelper.cs est un fichier du projet BrolDev.Ce fichier est situé dans /var/www/bin/sniplets/bibliobrol/broldev/src/.
Projet BrolDev : Librairie de composants réutilisables pour les applications BrolDev en CSharp.
Code source ou contenu du fichier
Code c# (EnumHelper.cs) (127 lignes)
using System; using System.Collections; using System.Collections.Generic; using System.Reflection; namespace be.gaudry.model.enums { /// <summary> /// Provides a static utility object of methods and properties to interact /// with enumerated types. /// Source : http://www.codeproject.com/useritems/enumdatabinding.asp /// /// public enum SimpleEnum /// { /// [EnumDescription("Today")] /// Today, /// ... /// /// ComboBox combo = new ComboBox(); /// combo.DataSource = EnumHelper.ToList(typeof(SimpleEnum)); /// combo.DisplayMember = "Value"; /// combo.ValueMember = "Key"; /// </summary> public static class EnumHelper { /// <summary> /// Gets the <see cref="DescriptionAttribute" /> of an <see cref="Enum" /> /// type value. /// </summary> /// <param name="value">The <see cref="Enum" /> type value.</param> /// <returns>A string containing the text of the /// <see cref="DescriptionAttribute"/>.</returns> public static string GetDescription(Enum value) { if (value == null) { } string description = value.ToString(); FieldInfo fieldInfo = value.GetType().GetField(description); EnumDescriptionAttribute[] properties = null; try { properties = (EnumDescriptionAttribute[])fieldInfo.GetCustomAttributes( false ); } catch { } if (properties != null && properties.Length > 0) { description = properties[0].Description; } return description; } /// <summary> /// Converts the <see cref="Enum" /> type to an <see cref="IList" /> /// compatible object. /// </summary> /// <param name="type">The <see cref="Enum"/> type.</param> /// <returns>An <see cref="IList"/> containing the enumerated /// type value and description.</returns> public static IList ToList(Type type) { if (type == null) { } Array enumValues = Enum.GetValues(type); foreach (Enum value in enumValues) { list.Add(getKeyValuePair(value)); } return list; } public static KeyValuePair<Enum, string> getKeyValuePair(Enum value) { if (value == null) { } } public static Dictionary<Enum, string> getDictionary(Type type) { if (type == null) { return dico; } Array enumValues = Enum.GetValues(type); foreach (Enum value in enumValues) { dico.Add(value, GetDescription(value)); } return dico; } public static Enum getEnum(Object keyValuePair) { if (keyValuePair == null) return null; try { KeyValuePair<Enum, string> kvp = (KeyValuePair<Enum, string>)keyValuePair; return kvp.Key; } catch (InvalidCastException) { return null; } } } }
Structure et Fichiers du projet
Afficher/masquer...Icône | Nom | Taille | Modification |
Pas de sous-répertoires. | |||
Icône | Nom | Taille | Modification |
| _ | Répertoire parent | 0 octets | 1732523728 25/11/2024 09:35:28 |
Utilisation de l'explorateur de code
- Navigation :
- Un clic sur une icône de répertoire ouvre ce répertoire pour en afficher les fichiers.
- Lorsque le répertoire en cours ne contient pas de sous-répertoires il est possible de remonter vers le répertoire parent.
- La structure de répertoires en treetable (tableau en forme d'arborescence) n'est plus possibledans cette version.
- Un clic sur une icône de fichier ouvre ce fichier pour en afficher le code avec la coloration syntaxique adaptée en fonction du langage principal utilisé dans le fichier.
- Affichage :
- Il est possible de trier les répertoires ou les fichiers selon certains critères (nom, taille, date).
- Actions :
- Les actions possible sur les fichiers dépendent de vos droits d'utilisateur sur le site. Veuillez activer le mode utilisateur pour activer les actions.
Version en cache
25/11/2024 09:35:28 Cette version de la page est en cache (à la date du 25/11/2024 09:35:28) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 16/10/2009, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/cs-broldev-source-rf-model/enums/EnumHelper.cs.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.