XmlSerializer ShouldSerialize *不适用于基本类型属性

时间:2012-02-20 11:48:13

标签: .net serialization xml-serialization

如果我为当前类型属性定义ShouldSerialize *,它可以工作。但是如果我指定基类型属性,它就不起作用。对于* Specified

也是如此
 [XmlInclude(typeof(SingleEventGroup))]
    [XmlInclude(typeof(MultipleEventsGroup))]
    public abstract class EventsGroup
    {
        public List<int> EventsIds { get; set; }
        public string Name { get; set; }
    }

 public class SingleEventGroup : EventsGroup
    {
        public bool ShouldSerializeName()
        {
            return false; //it is still serialized
        }
    }

1 个答案:

答案 0 :(得分:3)

XmlSerializer在您的成员Name的.DeclaringType上查找方法,而不在.ReflectedType上查找。这就是为什么它不起作用。