2

我正在使用 XmlSerializer 将自定义对象从文件反序列化为我的应用程序中的对象。 我的问题是,对于我要反序列化的文件中不存在的新属性,我希望对象中的一个字段默认为“True”而不是“False”。

默认情况下,.Net 将此值分配为 false,因为它在文件中不存在,如果不存在,我希望它默认为 True。我在对象定义中的字段上使用了System.ComponentModel.DefaultValue(True)属性,但这不起作用。有谁知道如何做到这一点?

4

2 回答 2

2

您可以直接在对象的空构造函数中设置布尔值。这样,反序列化器将在布尔值中创建具有 true 的反序列化对象。

于 2010-10-04T11:30:01.020 回答
0

由于某种原因,当我反序列化作为另一个具有布尔属性的对象类的字段时,这对我不起作用。也许我错过了一些东西,但我只是使布尔值可以为空(布尔?),并且在反序列化之后,如果布尔值为空,则将布尔值设置为 true。

于 2011-05-30T05:45:30.173 回答