5

我有一些我不想被序列化的公共成员,想知道它是否有一个属性?

4

5 回答 5

7

您正在寻找XmlIgnore

于 2009-10-22T18:13:57.793 回答
5

正如其他人建议的那样,使用XmlIgnoreAttribute静态地执行此操作。

您也可以动态地执行此操作。假设您有一个可序列化的属性Name。然后是以下内容:

[XmlIgnore]
public bool NameSpecified {
    get {
        // your logic here
    }
}

如果此特殊属性 getter 返回 true,则Name将包含在输出 XML 文档中,否则将不包含。 NameSpecified本身标有 [XmlIgnore] 因为您显然不想包含它。

于 2009-10-22T18:31:52.907 回答
4

XmlIgnore会成功的。

于 2009-10-22T18:13:55.700 回答
2

使用 XmlIgnore 属性

于 2009-10-22T18:13:58.637 回答
0

继 Azheglov 关于“指定”后缀的评论之后,DefaultValue序列化时也会考虑该属性,如果它是默认值,则根本不会序列化一个值。

于 2009-10-23T15:18:40.060 回答