如何扩展XmlAttribute行为?
如何扩展XmlAttribute类?
使用下面的代码,我已将可空属性设置为可序列化,并在没有值的情况下从序列化中排除:
[XmlIgnore]
public DateTime? LastUpdated { get; set; }
[XmlAttribute("lastUpdated")]
public DateTime LastUpdatedSerializable
{
get { return this.LastUpdated.Value; }
set { this.LastUpdated = value; }
}
public bool ShouldSerializeLastUpdatedSerializable()
{
return LastUpdated.HasValue;
}
而不是上面,我想能够使用下面的代码来实现相同的结果:
[XmlAttribute("lastUpdated", IsNullable = true)]
public DateTime? LastUpdatedSerializable
{
get;
set;
}
因此,我希望能够扩展XmlAttribute以接受一个名为IsNullable的属性,那么如果该值为true,则应该用上述代码替换实现,以便如果没有值则排除节点。
这是微软应该为XmlAttribute真正添加到.NET Framework中的东西。
如何实现它?
链接地址: http://www.djcxy.com/p/65139.html