【发布时间】:2012-07-27 20:18:02
【问题描述】:
我正在尝试从我的 XML 文件中反序列化 Nullable<bool>。我的期望是在我的 XMLElement 中找不到的 XMLAttribute 是 null,如果找到它,它将是 true 或 false。序列化也是如此。我的变量如果不为空就会被写入。
无论如何,每次我尝试反序列化我的 XML 时,都会抛出一个 InvalidOperationException。
我的班级是这样的
[XMLArray("Users")]
public class User
{
[XMLAttribute("copy")]
public bool? copy;
}
有什么想法吗?
【问题讨论】:
-
看看这种方法,这个问题的最佳答案:stackoverflow.com/questions/1295697/… 它基本上将一个属性包装在可为空的 bool 周围并序列化/反序列化那个。从序列化中忽略 bool 属性。
-
您可以使用
public bool ShouldSerializecopy() {return copy.HasValue;},如下所示:stackoverflow.com/questions/244953/serialize-a-nullable-int
标签: c# xml nullable xml-deserialization