c# XML可空属性
本文关键字:属性 XML | 更新日期: 2023-09-27 18:18:28
我想有一个enum属性是可选的。
我想实现这一点的方法是让它可为空。
[XmlAttribute(AttributeName = "action")]
public EAction? Action
{
get;
set;
}
但是这行不通。
根据我目前对此事的了解,我可以使用的唯一有效的可空类型是string。
但如果可能的话,我宁愿不使用用字符串隐藏Enum的技巧。
[XmlIgnore]
public EAction? Action
{
get;
set;
}
[XmlAttribute(AttributeName = "action")]
public string _Action
{
get { return this.Action.ToString();
set { ... }
}
我在要求不可能的事吗?
我现在不想让属性为空。
我使用的是ShouldSerialize模式(这是我最近发现的)。
在我的枚举中添加了一个"None"值之后,它是这样的:
[XmlAttribute(AttributeName = "action")]
public EAction Action
{
get;
set;
}
public bool ShouldSerializeAction()
{
return this.Action != EAction.None;
}