2013-04-17 14 views
9

Ich habe eine Klasse, die Eigenschaft hat whiches Typ char ist, wie folgendSerialize Datentyp char mit XmlSerializer

[XmlRoot("Root")] 
    public class TestClass 
    { 
     [XmlElement("Test", typeof(char))] 
     public char TestProperty { get; set; } 
    } 

Wenn der Wert von TestProperty ist ‚N‘ und wenn ich Testclass serialisiert wird es folgendes Ergebnis produzieren:

<Root> 
     <Test>78</Test> 
    </Root> 

Aber was ich will

folgende haben ist
<Root> 
     <Test>N</Test> 
    </Root> 

ist es möglich, Witz Ändern Sie den Typ von TestProperty in eine Zeichenfolge?

Antwort

7

Nicht AFAIK. Sie können jedoch schummeln:

[XmlIgnore] 
public char TestProperty { get; set; } 

[XmlElement("Test"), Browsable(false)] 
public string TestPropertyString { 
    get { return TestProperty.ToString(); } 
    set { TestProperty = value.Single(); } 
} 
+0

Vielen Dank. Es ist gut, dass ich jetzt nicht versuche, das zu erreichen). Dann ist es besser, den Typ von TestProperty in String zu ändern, denke ich. –