我已经为此苦苦挣扎了一段时间。这是我的情况 - 我试图序列化的类的属性之一包含一个IEnumerable
(因为它是一个接口,所以无法序列化),我不能去更改属性(我不能添加属性也可以)。这是我到目前为止的代码:
// 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
时将它们“转换”为一个列表(或数组)。任何帮助将不胜感激。