Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否可以从XmlSerializer序列化中排除类型的某些成员?_C#_.net_Serialization_Ixmlserializable - Fatal编程技术网

C# 是否可以从XmlSerializer序列化中排除类型的某些成员?

C# 是否可以从XmlSerializer序列化中排除类型的某些成员?,c#,.net,serialization,ixmlserializable,C#,.net,Serialization,Ixmlserializable,我有一些公共成员我不想被序列化,我想知道它是否有一个属性?就可以了。您正在寻找的使用XmlIgnore属性使用XmlIgnoreAttribute按照其他人的建议静态执行 您还可以动态地执行此操作。假设您有一个可序列化的属性名称。然后是: [XmlIgnore] public bool NameSpecified { get { // your logic here } } 如果此特殊属性getter返回true,Name将包含在输出XML文档中,否则将不包含它

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

就可以了。

您正在寻找的使用XmlIgnore属性使用XmlIgnoreAttribute按照其他人的建议静态执行

您还可以动态地执行此操作。假设您有一个可序列化的属性名称。然后是:

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

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

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