【问题标题】:How to deserialize Nullable<bool>? [duplicate]如何反序列化 Nullable<bool>? [复制]
【发布时间】:2012-07-27 20:18:02
【问题描述】:

我正在尝试从我的 XML 文件中反序列化 Nullable&lt;bool&gt;。我的期望是在我的 XMLElement 中找不到的 XMLAttribute 是 null,如果找到它,它将是 truefalse。序列化也是如此。我的变量如果不为空就会被写入。

无论如何,每次我尝试反序列化我的 XML 时,都会抛出一个 InvalidOperationException

我的班级是这样的

[XMLArray("Users")]
public class User
{
    [XMLAttribute("copy")]
    public bool? copy;
}

有什么想法吗?

【问题讨论】:

标签: c# xml nullable xml-deserialization


【解决方案1】:
[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 链接的帖子的解决方案。非常感谢!

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 2014-11-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多