我正在尝试从我的XML文件中反序列化Nullable<bool>
。我的期望是我的XMLElement中找不到的XMLAttribute是null
,如果发现它是true
或false
。序列化相同。如果变量不为空,我的变量将被写入。
无论如何,每当我尝试反序列化我的XML时,都会抛出InvalidOperationException
。
我的班级看起来像这样
[XMLArray("Users")]
public class User
{
[XMLAttribute("copy")]
public bool? copy;
}
有什么想法吗?
答案 0 :(得分:4)
[XMLArray("Users")]
public class User
{
[XmlIgnore]
public bool? m_copy;
[XmlAttribute("copy")]
public string copy
{
get { return (m_copy.HasValue) ? m_copy.ToString() : null; }
set { m_copy = !string.IsNullOrEmpty(value) ? bool.Parse(value) : default(bool?); }
}
}
我得到了从answer到sylon链接的帖子的解决方案。非常感谢!