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 */ }
}