Использование EnumMemberAttribute и автоматическое преобразование строк

У меня есть следующий код

<code>[DataContract]
public enum StatusType
{
    [EnumMember(Value = "A")]
    All,
    [EnumMember(Value = "I")]
    InProcess,
    [EnumMember(Value = "C")]
    Complete,
}
</code>

Я хотел бы сделать следующее:

<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>

Я выполнил вторую часть с использованием DataContractSerializer (см. Код ниже), но это кажется большой работой.

Я что-то упускаю из виду? Идеи? Благодарю.

<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>

Ответы на вопрос(2)

Ваш ответ на вопрос