In der XmlSerializer-Konstruktorzeile verursacht das Folgende eine InvalidOperationException, die darüber klagt, dass kein Standardaccessor für den generischen Typ implementiert wurde.
%Vor% Es wäre einfacher (und passender IMO), die Daten aus der Warteschlange zu serialisieren - vielleicht in einem flachen Array oder List<T>
. Da Queue<T>
IEnumerable<T>
implementiert, sollten Sie Folgendes verwenden können:
Nicht alle Teile des Frameworks sind für die XML-Serialisierung ausgelegt. Sie werden feststellen, dass auch Wörterbücher in der Serialisierungsabteilung fehlen.
Eine Warteschlange ist ziemlich einfach zu implementieren. Sie können leicht Ihr eigenes erstellen, das auch IList implementiert, damit es serialisierbar ist.
Wenn Sie die eingebaute Serialisierung verwenden möchten, müssen Sie nach ihren Regeln spielen, was bedeutet, dass die Standardeigenschaften ctor und public get / set für die Elemente verwendet werden, die Sie serialisieren (und vermutlich deserialisieren) möchten. auf den Datentyp, den Sie serialisieren möchten (MyData)
Tags und Links .net c# generics serialization .net-2.0