Ich möchte eine ENUM haben wie die folgenden und dann ein Verfahren etwas wie Util.FindFruitByValue haben ( „A“), die den Aufzählungs von Apple zurück. Das liegt daran, dass die Abkürzungen in der Datenbank gespeichert sind und ich sie nach dem Lesen von db in entsprechende Enums konvertieren muss. ist das möglich ODER muss ich eine separate Klasse dafür erstellen? Lass es mich wissen, bitte. Danke im Voraus.
%Vor%Update: Dies ist wie eine Nachschlagetabelle, aber der Unterschied ist der Wert ist String anstelle von einem int. Ich bevölkern ein Business-Objekt, indem Sie die Werte aus der Datenbank zu lesen, und ich möchte einen Typ mit festen Werten für die Objekt-Eigenschaft der Zeichenfolge stattdessen verwenden.
Ich habe das Problem gelöst, indem ich das Attribut Beschreibung für die Enumeration verwendet habe. Die Lösung ist wie folgt. Ich verwende die Erweiterungsmethode, um die Beschreibung zu erhalten. der Code die Beschreibung zu erhalten, ist von diesem Link Ссылка genommen . Danke für deine Antworten.
%Vor%Ich habe eine Bibliothek geschrieben, die genau dieses Problem behandelt. Es war ursprünglich nur das Gegenteil tun soll (Rückkehr einen String-Wert aus und Enum), aber sobald ich geschrieben hatte, dass eine Zeichenfolge zurück in seine Enum, in der Lage, nur ein kleiner Schritt war zu analysieren.
Die Bibliothek namens EnumStringValues und ist von nuget in VS verfügbar (Paketseite wird auch hier: Ссылка ) Sourcecode ist auf GitHub hier: Ссылка
Gedanken und Kommentare sind willkommen. Inspiration kommt offensichtlich von dem gut publizierten Attribut-Ansatz, auf den in anderen Antworten hier verwiesen wird.
Entschuldigung, ich habe die Definition der Enumeration des OP übersehen. Offensichtlich müssen die Enum-Werte ein numerischer Typ sein, damit die OP-Definition nicht funktioniert.
Ein Gedanke, den ich hatte, war, den char-Wert als den Enum-Wert zu verwenden, z.
%Vor%Wie Convert.ToInt32 ('A') - nicht sicher, was hier mit der Groß- / Kleinschreibung zu tun ist. Greifen Sie dann das richtige Ergebnis durch Gießen. Ich spiele immer noch mit einem Beispiel herum und freue mich, einige Vorschläge zu hören.
OK, Entschuldigung für die Verzögerung. Hier ist ein bisschen mehr dazu:
%Vor%Verwendung:
%Vor%