Lijkt me redelijk in orde, al zou het kunnen dat je de bovenliggende types moet meegeven en/of het type van de items van de collectie (en de bovenliggende types).
Ik gebruik meestal een BinaryFormatter of een SoapFormatter en heb dus weinig ervaring met het serializeren/deserializeren van collections met XMLSerializer.
Heb wel ergens in mijn code een ArrayList gevonden, en dat ging als volgt:
Code:
var
Reader: FileStream;
Serializer: XMLSerializer;
begin
Reader := FileStream.Create(FFileName,FileMode.Open);
Serializer := XmlSerializer.Create(TypeOf(ArrayList),
TTypeArray.Create(TypeOf(Receptacle), TypeOf(Macrolon)));
Result := ArrayList(Serializer.Deserialize(Reader));
Waarbij Macrolon het type van de elementen is, afgeleid van Receptacle. Achteraf gezien had ik hier beter een Array voor gebruikt, maar soit.
Ook:
Code:
type
TTypeArray = array of System.Type;
Bookmarks