Мне трудно десериализовать HashSet из перечислений. В настоящее время значения из XML не десериализуются в объект c #.
У меня есть XML-файл, который имеет это:
<MyHashSetOfEnums xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<a:MyEnum>Red</a:MyEnum>
<a:MyEnum>Green</a:MyEnum>
<a:MyEnum>Blue</a:MyEnum>
</MyHashSetOfEnums>
И класс c #, который я пытаюсь десериализовать, выглядит примерно так:
[DataContract]
public class MyClass
{
[DataMember]
public HashSet<MyEnum> MyHashSetOfEnums { get; private set; }
}
Enum выглядит так:
public enum MyEnum
{
Red,
Green,
Blue
}
У меня есть рабочий код, который десериализует одно перечисление и другой, который десериализует HashSet строк / целых. Оба из них используют различные пространства имен XML для правильной десериализации. Но теперь мне нужно объединить две идеи, и я не могу заставить что-то работать. Это возможно? Или я стреляю по чему-то недостижимому здесь?
PS: я не использую Newtonsoft и не могу обновить наши утилиты сериализации для использования Newtonsoft