我有这个简单的课程:
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。
我没有遇到任何运行时错误,所以我真的不知道问题出在哪里。
任何人都知道如何解决这种奇怪的行为?
答案 0 :(得分:1)
如果找不到解决方案,可以尝试使用其他xml-serializer,例如sharpserializer或DataContractSerializer
答案 1 :(得分:0)
看起来你必须制作List&lt; T&gt; MappingCollection中的属性,而不是扩展List&lt; T&gt;因为XmlSerializer处理集合类型的特殊方式。