我一直在努力与此一段时间了。 这是我的情况 - 我尝试序列化的类的属性之一包含IEnumerable
(它不能被序列化,因为它是一个接口),我不能去改变属性(我不能给它添加属性)。 这是到目前为止,我已经得到了代码:XmlSerializer - IEnumerable或IList作为LIst
// Ignore the byte array containing the Data for the serialization
xmlAttrOverrides.Add(typeof (FileContent), "Data", xmlIgnoreAttr);
using (var writer = xmlDocument.CreateWriter())
{
var serializableTypes = GetSerializableSubTypes();
var serializer = new XmlSerializer(documentPackage.GetType(), xmlAttrOverrides, serializableTypes, null, null);
serializer.Serialize(writer, documentPackage);
}
有没有一种方法来设置XmlSerializer
这样每次它看到一个IList
或IEnumerable
他们“转换”到一个列表(或阵列) 。 任何帮助将不胜感激。
' IEnumerable'不能被反序列化......澄清你是否可以保存对象可能是有用的。 – 2013-03-16 07:39:28
其实我没关系,即使忽略它一切,如果这将工作? – 2013-03-16 07:41:40