C# 标志枚举分隔符

发布于 2024-08-29 04:46:19 字数 543 浏览 4 评论 0原文

我有一个枚举,并且

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

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

I have an Enum and member it type

 [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;

when serialize this class result attribute will be like that:

<filter search_filter="types attributes methods" />

but need attribute:

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

how can change delimiter when class serializing?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

请恋爱 2024-09-05 04:46:19

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

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

You're going to have to take complete control of it, then - for example my marking that member as [XmlIgnore] and adding a public string property such as:

[XmlAttribute("search-filter")]
public string SearchShim {
    get { /* translate */ }
    set { /* translate */ }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文