1

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

如何实现?

4

0 回答 0