2010-12-09 4 views
5

Ich habe die folgenden enum in einer ASP.NET MVC-Anwendung, und ich möchte diese Enumeration als Parameter verwenden. Um dies zu tun, möchte ich die Kleinbuchstaben-String-Darstellung des enum zurückgeben.Wie bekomme ich die Kleinschreibung einer Aufzählung in C#?

Wie kann ich die Kleinschreibung einer Enumeration in C# erhalten? Ich möchte, dass die Enums auch ihre natürliche Titelvorlage beibehalten.

Antwort

11

Nein, außer einer Erweiterungsmethode gibt es keine object.

public static string ToLower (this object obj) 
{ 
    return obj.ToString().ToLower(); 
} 
0

Sie könnten auch Enum.GetNames(...) verwenden, um ein Zeichenfolgenarray zu erhalten, das die Enum-Werte enthält. Dann wandle diese in Kleinbuchstaben um. Um von String in den entsprechenden Enum-Wert zu konvertieren, können Sie die Enum.Parse-Methode verwenden, die true im dritten Parameter übergibt, wodurch der Vergleich bei Groß- und Kleinschreibung nicht berücksichtigt wird.

0

Wenn der Enumerationstext den System.ComponentModel-Namespace kennt (und verwendet), können Sie die Enumeration mit System.ComponentModel.DescriptionAttribute dekorieren und die Kleinbuchstabenversion in sich selbst eingeben.

Wenn Sie den Zeichenfolgenwert direkt erhalten, können Sie dies trotzdem tun, obwohl der Aufwand, den Sie beim Schreiben des Reflexionscodes aufwenden, mehr sein kann, als Sie behandeln möchten.

HTH, Brian

Verwandte Themen