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