.net XmlSerialize,忽略类属性
本文关键字:属性 XmlSerialize net | 更新日期: 2023-09-27 18:25:37
假设我们有两个类Apple,Pineapple
public class Apple:Fruit{}
public class Pineapple:Fruit{}
我们有一个名为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;}
}
当类型为菠萝时,我希望忽略水果属性。
不确定为什么要这样做,但可以使用ShouldSerialize<PropertyName>
模式来实现:
public class Menu
{
[XmlElement("apple",typeof(Apple))]
public Fruit fruit {get;set;}
public bool ShouldSerializefruit()
{
return !(fruit is Pineapple);
}
}