XmlSerializer und NULL-Attribute

Habe ich eine Klasse mit zahlreichen Nullable<T> Eigenschaften, die ich will, um serialisierbar zu XML als Attribute. Dies ist offensichtlich ein no-no, wie Sie als "komplexe Typen". Anstatt also implementiere ich die *Angegebene Muster, wo ich erstellen Sie eine neben * - Wert und der *Angegebenen-Eigenschaft wie folgt:

[XmlIgnore] 
public int? Alter 
{ 
get { return this.Alter; } 
set { dies.Alter = Wert; } 
} 

[XmlAttribute("Alter")] 
public int AgeValue 
{ 
get { return this.Alter.Wert; } 
set { dies.Alter = Wert; } 
} 

[XmlIgnore] 
public bool AgeValueSpecified 
{ 
get { return this.Alter.HasValue; } 
} 

Welche gut funktioniert - wenn die 'Alter' - Eigenschaft einen Wert hat, ist es serialisiert als ein Attribut. Wenn es nicht einen Wert haben, ist es nicht serialisiert.

Das problem ist, dass, wie ich bereits erwähnte, eine Menge der null-s in meiner Klasse und das Muster ist nur die Dinge chaotisch und unüberschaubar.

Ich hoffe, dass es ist ein Weg, um null-Werte zulässt mehr XmlSerializer freundlich. Oder, in Ermangelung, einen Weg, um erstellen Sie eine null-Ersatz ist.

Hat jemand irgendwelche Ideen, wie ich dies tun könnte?

Dank.

InformationsquelleAutor der Frage Barg | 2010-07-14

Schreibe einen Kommentar