C#标志枚举分隔符

C#标志枚举分隔符,c#,enums,flags,C#,Enums,Flags,我有一个枚举和成员类型 [Flags] public enum SearchFilter { types = 0x01, attributes = 0x02, methods = 0x04 } [System.Xml.Serialization.XmlAttribute("search-filter")] public SearchFilter search_filter = SearchFilter.types | SearchFilter.attribut

我有一个枚举和成员类型

 [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" />


类序列化时如何更改分隔符?

您必须完全控制它,然后-例如,我将该成员标记为
[XmlIgnore]
并添加公共
字符串
属性,例如:

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