Ich versuche, den XMLSerializer mit einem Schloss aktiven Datensatz Klasse zu verwenden, die wie folgt aussieht:
[ActiveRecord("Model")]
public class DataModel : ActiveRecordBase
{
private IList<Document> documents;
[XmlArray("Documents")]
public virtual IList<Document> Documents
{
get { return documents; }
set
{
documents = value;
}
}
}
Der XMLSerializer gerät jedoch aufgrund der IList-Schnittstelle in Schwierigkeiten. (Löst eine Ausnahme aus: Das Mitglied 'DataModel.Documents' vom Typ 'System.Collections.Generic.IList`1.... kann nicht serialisiert werden. )
Ich habe an anderer Stelle gelesen, dass dies eine Einschränkung in der XMLSerializer ist und die empfohlene Problemumgehung ist, um es als eine List<T>
Schnittstelle.
Deshalb habe ich versucht, die IList<Document>
a List<Document>
. Dies führt dazu, dass ActiveRecord eine Exception auslöst: Der Typ der Eigenschaft DataModel.Documents muss eine Schnittstelle sein (IList, ISet, IDictionary oder ihre generischen Gegenstücke). Sie können nicht ArrayList oder List als Eigenschaftstyp verwenden.
Die Frage ist also: Wie verwendet man den XMLSerializer mit einem Castle ActiveRecord, der ein IList-Mitglied enthält?