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>

Antworten auf die Frage(2)

Ihre Antwort auf die Frage