1

我正在使用 WCF。我有以下模型类。当对象序列化列表cIntList属性Name丢失时。我在这里找到了答案: 当一个类从 List<> 继承时,XmlSerializer 不会序列化其他属性。但是,对我来说重要的是不要构建容器类只修改相同的序列化。任何人都可以帮助我修改该类以使其序列化符合我的期望吗?

   public class IntData
    {
        public int Value;
        public IntData()
        {
        }
    }

    public class cIntList : List<IntData>
    {
        public string Name;

        public cIntList()
        {
            Name = "Name";
            this.Add(new IntData() { Value = 1 });
            this.Add(new IntData() { Value = 2 });
        }
    }
4

1 回答 1

1

如果您更改类,它也会序列化名称字段。

public class cIntList
{
    public string Name{ get; set; }

    [XmlElement("")]
    public List<IntData> IntList{ get; set; }

    public cIntList()
    {
        Name = "Name";
        IntList = new List<IntData>();
        IntList.Add(new IntData() { Value = 1 });
        IntList.Add(new IntData() { Value = 2 });
    }
}

您可以根据所需的 xml 更改或删除 XmlElement 属性。

于 2013-09-12T14:06:26.823 回答