带属性的集合的Xml序列化

时间:2011-03-16 09:42:15

标签: c# xml serialization xml-serialization

我有这个简单的课程:

public class MappingCollection<T> : List<T>
{
    private int _declaredTotal = -1;
    public int DeclaredTotal { get { return _declaredTotal; } set { _declaredTotal = value; } }
}

我在另一个类中使用它,称为“Mapping”。 “映射”实例被序列化为xml。 Mapping的每个其他属性都被正确序列化(类,标量属性等)。

当它序列化我创建的这个自定义列表时,列表元素被正确序列化,但“DeclaredTotal”属性没有。实际上,它总是序列化为-1,如果我删除默认值,它总是被序列化为0。

我没有遇到任何运行时错误,所以我真的不知道问题出在哪里。

任何人都知道如何解决这种奇怪的行为?

2 个答案:

答案 0 :(得分:1)

如果找不到解决方案,可以尝试使用其他xml-serializer,例如sharpserializerDataContractSerializer

答案 1 :(得分:0)

查看this similar question

看起来你必须制作List&lt; T&gt; MappingCollection中的属性,而不是扩展List&lt; T&gt;因为XmlSerializer处理集合类型的特殊方式。