【发布时间】:2010-10-14 13:01:23
【问题描述】:
设置:
class Item
{
private int _value;
public Item()
{
_value = 0;
}
public int Value { get { return _value; } set { _value = value; } }
}
class ItemCollection : Collection<Item>
{
private string _name;
public ItemCollection()
{
_name = string.Empty;
}
public string Name { get {return _name;} set {_name = value;} }
}
现在,尝试使用以下代码片段进行序列化:
ItemCollection items = new ItemCollection();
...
XmlSerializer serializer = new XmlSerializer(typeof(ItemCollection));
using (FileStream f = File.Create(fileName))
serializer.Serialize(f, items);
查看生成的 XML 后,我发现 ItemCollection.Name 值不存在!
我认为可能发生的情况是,序列化程序将 ItemCollection 类型视为一个简单的 Collection,因此忽略了任何其他添加的属性...
有没有人遇到过这样的问题并找到了解决办法?
问候,
斯泰西
【问题讨论】:
标签: c# inheritance xml-serialization collections generics