2010-04-15 6 views
1

У меня есть Enum и член его типаC# Флаг 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" /> 

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

ответ

2

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

[XmlAttribute("search-filter")] 
public string SearchShim { 
    get { /* translate */ } 
    set { /* translate */ } 
} 
Смежные вопросы