.NET XMLSERIALIZE,忽略类属性
问题描述:
假设我们有两个类苹果,菠萝.NET XMLSERIALIZE,忽略类属性
public class Apple:Fruit{}
public class Pineapple:Fruit{}
而且我们有一个抽象类名为水果
[XmlInclude(typeof(Apple))]
[XmlInclude(typeof(Pineapple))]
public abstract class Fruit{}
而且我们有一个类名为Menu
public class Menu
{
[XmlElement("apple",typeof(Apple))]
[XmlElement("",typeof(Pineapple))]
public Fruit fruit {get;set;}
}
我想在类型为Pineapple时忽略水果属性。
答
不知道你为什么会想这样做,但你可以使用ShouldSerialize<PropertyName>
模式来实现它:
public class Menu
{
[XmlElement("apple",typeof(Apple))]
public Fruit fruit {get;set;}
public bool ShouldSerializefruit()
{
return !(fruit is Pineapple);
}
}
我需要生产清洁XML outpot和水果的人真正代表“无果” 。感谢它的工作! – 2014-10-06 10:44:45