Я пытаюсь использовать XMLSerializer с классом активной записи замка, который выглядит следующим образом:
[ActiveRecord("Model")]
public class DataModel : ActiveRecordBase
{
private IList<Document> documents;
[XmlArray("Documents")]
public virtual IList<Document> Documents
{
get { return documents; }
set
{
documents = value;
}
}
}
Однако XMLSerializer сталкивается с проблемами из-за интерфейса IList.
(Возникает исключение: Невозможно сериализовать элемент 'DataModel.Documents' типа 'System.Collections.Generic.IList`1 .... )
Я читал в другом месте, что это ограничение в XMLSerializer, и рекомендуемое решение - объявить его как интерфейс List<T>
.
Поэтому я попытался изменить IList<Document>
на List<Document>
.
Это заставляет ActiveRecord вызывать исключение:
Тип свойства DataModel.Documents должен быть интерфейсом (IList, ISet, IDictionary или их общими частями счетчика). Вы не можете использовать ArrayList или List в качестве типа свойства.
Итак, вопрос: как вы используете XMLSerializer с замком ActiveRecord, содержащим член IList?