Windows Store 앱용 앱을 개발 중이며 이와 같은 코드가 있습니다.Enum.Parse with annotation
public enum Categories
{
Cat1,
Cat2,
Cat3
}
Enum
에 string[] cats = {"categoty 1", "category 2", "category 3"}
을 변환 할 수있는 옵션이 있습니까?
나는 EnumMember
속성을 사용하여 시도했다 :
[DataContract]
public enum Categories
{
[EnumMember(Value = "category 1")]
Cat1,
[EnumMember(Value = "category 2")]
Cat2,
[EnumMember(Value = "category 3")]
Cat3
}
을 ...하지만 여전히 var cat = Enum.Parse(typeof(Categories), cats[0]);
와 운 :
Exception thrown: 'System.ArgumentException' in mscorlib.ni.dll
Requested value 'category 1' was not found.
어떤 아이디어가?
, 당신은 모든 열거 값의 속성을 검색하고 문자열을 비교하는 반사를 사용해야 할 것입니다. 더 쉬운 방법 (틀림없이 약간 유지하기 쉽지 않지만)은 단지 문자열을 열거 형 값에 매핑하는'Dictionary'를 포함하는 것입니다. –
이 질문에 대한 답변을 통해 도움을 얻을 수 있습니다. http://stackoverflow.com/questions/19767863/cant-get-enum-to-convert-to-json-properly-using-json-net –