如何扩展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中。
如何实现它?