मैं है निम्नलिखित कोडEnumMemberAttribute का उपयोग करना और कर स्वत: स्ट्रिंग रूपांतरण
[DataContract]
public enum StatusType
{
[EnumMember(Value = "A")]
All,
[EnumMember(Value = "I")]
InProcess,
[EnumMember(Value = "C")]
Complete,
}
मैं निम्न कार्य करना चाहते हैं:
var s = "C";
StatusType status = SerializerHelper.ToEnum<StatusType>(s); //status is now StatusType.Complete
string newString = SerializerHelper.ToEnumString<StatusType>(status); //newString is now "C"
मैं DataContractSerializer का उपयोग कर दूसरे भाग किया है (कोड देखें नीचे), लेकिन यह बहुत काम की तरह लगता है।
मैं कुछ स्पष्ट याद आ रही है? विचार? धन्यवाद।
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;
}
}
मैं इस विकल्प की तरह है। com/एक/4367868/1243316 –