J'ai ce qui suit Comment puis-je obtenir la représentation minuscule d'un énumé en C #? J'aimerais aussi que les Enums conservent leur représentation de titlecase naturelle. P> p> Enum code> dans une application ASP.NET MVC, et je veux utiliser cet Enum comme paramètre. Pour ce faire, je voudrais renvoyer la représentation des chaînes minuscules de ce
Enum code>.
4 Réponses :
Non, il n'est pas sauf pour une méthode d'extension sur objet code>.
public static string ToLower (this object obj)
{
return obj.ToString().ToLower();
}
Y a-t-il un moyen d'obtenir la chaîne en minuscules Exceptionsg: valeur.tostring (). Tolower ()? P> blockQuote>
Non (sauf si vous ne modifiez pas l'ENUM:
récent code>,
Note code>,
Pertinence code> ...) p>
Une technique commune consiste à ajouter un attribut contre chaque membre d'Enum, en spécifiant la chaîne que vous souhaitez associer à celle-ci, par exemple: http : //weblogs.asp.net/grantbarrington/archive/2009/01/19/Enumhelper-getting-a-amical-description-de-an-enum.aspx P>
Vous pouvez également utiliser Enum.getNames (...) code> pour obtenir un tableau de chaîne contenant les valeurs ENUM. Ensuite, convertissez-les en minuscules. Pour convertir de la chaîne à la valeur ENUM correspondante, vous pouvez utiliser la méthode
ENUM.PARSE CODE> PASSE
true code> dans le troisième paramètre, qui rend le cas de comparaison insensible. P>
Si ce qui affiche le texte ENUM est au courant de (et utilise) l'espace de noms System.componentModel, vous pouvez décorer l'ENUM avec le système.componentmodel.descriptTribute et tapez la version minuscule en vous. P>
Si vous obtenez directement la valeur de la chaîne, vous pouvez toujours le faire, bien que les frais généraux de votre écriture du code de réflexion soient plus que ce que vous souhaitez gérer. P>
hth, Brian p>