Verwenden von EnumMemberAttribute und Ausführen automatischer Zeichenfolgenkonvertierungen
Ich habe den folgenden Code
<code>[DataContract] public enum StatusType { [EnumMember(Value = "A")] All, [EnumMember(Value = "I")] InProcess, [EnumMember(Value = "C")] Complete, } </code>
Ich würde gerne folgendes machen:
<code> var s = "C"; StatusType status = SerializerHelper.ToEnum<StatusType>(s); //status is now StatusType.Complete string newString = SerializerHelper.ToEnumString<StatusType>(status); //newString is now "C" </code>
Ich habe den zweiten Teil mit DataContractSerializer durchgeführt (siehe Code unten), aber es scheint eine Menge Arbeit zu sein.
Vermisse ich etwas Offensichtliches? Ideen? Vielen Dank.
<code> public static string ToEnumString<T>(T type) { string s; using (var ms = new MemoryStream()) { var ser = new DataContractSerializer(typeof(T)); ser.WriteObject(ms, type); ms.Position = 0; var sr = new StreamReader(ms); s = sr.ReadToEnd(); } using (var xml = new XmlTextReader(s, XmlNodeType.Element, null)) { xml.MoveToContent(); xml.Read(); return xml.Value; } } </code>