2014-10-06 184 views
1

假設我們有兩個類蘋果,菠蘿.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時忽略水果屬性。

回答

1

不知道你爲什麼會想這樣做,但你可以使用ShouldSerialize<PropertyName>模式來實現它:

public class Menu 
{ 
    [XmlElement("apple",typeof(Apple))] 
    public Fruit fruit {get;set;} 

    public bool ShouldSerializefruit() 
    { 
     return !(fruit is Pineapple); 
    } 

} 
+0

我需要生產清潔XML outpot和水果的人真正代表「無果」 。感謝它的工作! – 2014-10-06 10:44:45