我有一些公众成员我不想被序列化,想知道是否有属性吗?
答案 0 :(得分:7)
您正在寻找XmlIgnore
答案 1 :(得分:5)
使用 XmlIgnoreAttribute 进行静态处理,正如其他人所建议的那样。
您也可以动态执行此操作。假设您有一个可序列化的属性名称。然后是以下内容:
[XmlIgnore]
public bool NameSpecified {
get {
// your logic here
}
}
如果此特殊属性getter返回true, Name 将包含在输出XML文档中,否则将不包括在内。 NameSpecified 本身标有[XmlIgnore],因为您显然不想包含它。
答案 2 :(得分:4)
XmlIgnore
可以解决问题。
答案 3 :(得分:2)
使用XmlIgnore属性
答案 4 :(得分:0)
继Azheglov关于“指定”后缀的注释之后,序列化时也会考虑DefaultValue
属性,如果默认值,则根本不会序列化值。