使用XML序列化对类进行序列化时,如何使某些属性有条件地输出。即在某些情况下,它输出这个属性,在其他情况下,它不输出。

最佳答案

您可以创建一个名为 MyPropertySpecified 的附加属性,它返回一个 bool 值。
当此属性返回 true 时,MyProperty 属性将被序列化。当它返回 false 时,它​​不会被序列化。

此外,您还想用 XmlIgnoreAttribute 装饰该属性,这样该特定属性就不会被序列化。

例子:

public class Person
{
    public string Name
    {
        get;
        set;
    }

    [XmlIgnore]
    public bool NameSpecified
    {
        get  { return Name != "secret"; }
    }
}

关于c# - 在某些情况下如何序列化某些属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4386338/

10-09 05:56
查看更多