14

我有一个类,它的属性类型是 char 如下

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

当 TestProperty 的值为 'N' 并且如果我序列化 TestClass 它将产生以下结果:

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

但我想要的是有以下

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

是否可以不将 TestProperty 的类型更改为字符串?

4

1 回答 1

10

不是AFAIK。但是,您可以作弊:

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

[XmlElement("Test"), Browsable(false)]
public string TestPropertyString {
    get { return TestProperty.ToString(); }
    set { TestProperty = value.Single(); }
}
于 2013-04-17T07:31:52.423 回答