保持属性不被序列化为XML的未记录方法

时间:2018-05-08 19:14:37

标签: c# xml-serialization xmlserializer

当你创建一个Serializable to XML的对象时,如果标有[XmlElement]属性的属性在名称的末尾(不论属性)有一个名为“Specified”的朋友,那么:

[XmlType(TypeName="XmlAble"),Serializable]
public class XmlAble
{
    [XmlElement]
    public DateTime MyDate { get { return MyDateField; } set { MyDateField = value; MyDateSpecified = true; } }
    private DateTime MyDateField;

    [XmlIgnore]
    public bool MyDateSpecified
    {get;set;}

}

该boolean标志将用于决定第一个属性(在我的示例中为MyDate)是否完全被序列化。

.NET Fiddle播放此示例,您将看到我的意思。

为什么它以如此笨重的方式运行(我认为基于字符串包含的属性名称的任何内容都非常笨重),但没有文档呢?

0 个答案:

没有答案