2013-04-17 11 views
9

Mam klasy, który ma właściwość whiches typ jest char następującoSerializować typ danych char z XmlSerializer

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

Gdy wartość TestProperty jest „N” i gdybym serializacji TestClass będzie produkować następujący wynik:

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

Ale co ja chcę to mieć następujące

<Root> 
     <Test>N</Test> 
    </Root> 

jest to możliwe dowcip do zmiany typu TestProperty na ciąg?

Odpowiedz

7

Nie AFAIK. Możesz jednak oszukać:

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

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

Dziękuję. Dobrze, że teraz nie będę starał się tego osiągnąć). Wtedy lepiej jest zmienić typ TestProperty na string, jak sądzę. –