Entwickler-Ecke
IO, XML und Registry - Problem bei XML Serialisierung
mdacko - So 25.10.09 17:22
Titel: Problem bei XML Serialisierung
Hallo,
ich versuche gerade eine Arrayliste zu serialisieren. Nur verwende ich keine normale Arraylist, sondern eine "
ListWithChangedEvent" (
http://msdn.microsoft.com/de-de/library/aa288460(VS.71).aspx)
So sieht meine Serialisierungsfunktion aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| public static bool Save(ListWithChangedEvent Anrufsliste) {
try { xmlSer = new XmlSerializer(typeof(ListWithChangedEvent));
if (File.Exists(ordner + "Anrufe.xml")) File.Delete(ordner + "Anrufe.xml");
FileStream serializeStream = new FileStream(ordner + "Anrufe.xml", FileMode.Create); xmlSer.Serialize(serializeStream, Anrufsliste); serializeStream.Close();
return true; } catch { return false; } } |
Folgende Zeile davon wirft einen Fehler:
C#-Quelltext
1:
| xmlSer = new XmlSerializer(typeof(ListWithChangedEvent)); |
Debugger hat folgendes geschrieben: |
Implementieren Sie einen Standardaccessor in '.ListWithChangedEvent', da er von ICollection erbt. |
Habe keine Ahnung was ich dagegen machen kann, auch bei Google findet man nur wenig. Hoffe Ihr könnt mir helfen :)
Kha - So 25.10.09 18:26
Ich weiß nicht, was er daran auszusetzen hat, aber die MSDN-Klasse ist unvollständig und ab C# 2.0 gibt es sowieso keinen Grund mehr ArrayLists zu benutzen. Leite stattdessen von Collection<T> ab und überschreibe ClearItems, InsertItem, SetItem und RemoveItem.
mdacko - So 25.10.09 19:00
Danke für deinen Beitrag.
Der Vollständigkeit wegen hier eine evtl. Lösung, auch wenn es wohl unüblich ist in .Net 3.5:
Ich habe gerade gelesen, dass sich per XML keine ArrayLists serialisieren lassen sollen. Eine Konvertierung zu einem Array schafft Abhilfe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!