如果我为当前类型属性定义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
}
}
答案 0 :(得分:3)
XmlSerializer在您的成员Name
的.DeclaringType上查找方法,而不在.ReflectedType上查找。这就是为什么它不起作用。