2010-04-15 6 views
1

J'ai un Enum et membre tappezC# Drapeau delimiter 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; 

lorsque serialize cet attribut de résultat de classe sera comme ça:

<filter search_filter="types attributes methods" /> 

mais ont besoin d'attribut:

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

comment peut-on changer de délimiteur lors de la sérialisation de classe?

Répondre

2

Vous allez devoir prendre le contrôle complet de celui-ci, puis - par exemple mon marquage comme membre [XmlIgnore] et en ajoutant une string publique des biens tels que:

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