C # Flag Enum delimiter - PullRequest
       4

C # Flag Enum delimiter

1 голос
/ 15 апреля 2010

У меня есть Enum и член его типа

 [Flags]
 public enum SearchFilter
 {
    types = 0x01,
    attributes = 0x02,
    methods = 0x04
 }
 [System.Xml.Serialization.XmlAttribute("search-filter")]
 public SearchFilter search_filter = SearchFilter.types | SearchFilter.attributes | SearchFilter.methods;

при сериализации этого атрибута класса будет выглядеть так:

<filter search_filter="types attributes methods" />

но нужен атрибут:

<filter search_filter="types|attributes|methods" />

как можно изменить разделитель при сериализации класса?

1 Ответ

2 голосов
/ 15 апреля 2010

Вам потребуется полный контроль над ним, например - я пометил этого члена как [XmlIgnore] и добавил общедоступное свойство string, например:

[XmlAttribute("search-filter")]
public string SearchShim {
    get { /* translate */ }
    set { /* translate */ }
}
...