Ich hab folgendes Problem mit dem XML-Serializer. Ich hab ein Objekt dass ich speichern will. Die Klasse des Objekts hab ich hier etwas vereinfacht, aber sieht etwa so aus:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37:
| [Serializable] public class Daten { public int wert1; public int wert2; public Wert wert3; public void Save(Daten objekt) { string fullpath = @"C:\Neuer Ordner\Save.sav";
File.Delete(fullpath); FileStream stream = File.Open(fullpath, FileMode.OpenOrCreate); try { XmlSerializer serializer = new XmlSerializer(typeof(Daten)); serializer.Serialize(stream, objekt); } finally { stream.Close(); } } } [Serializable] public class Wert { public int wert; public Wert(int wert1, int wert2, int wert3) { wert = wert1 + wert2 + wert3; } } |
Ich erstelle also ein neues Objekt von "Daten" und weise "wert3" ein "Wert"-Objekt zu. Wenn ich jetzt speichern will kommt der Fehler:
"Fehler beim Reflektieren des Typs 'ConsoleApplication1.Daten'."
Ich hab rausgefunden, dass es an dem Konstruktor der Klasse "Wert" liegt, denn wenn ich den wegmache klappt alles. Das Problem ist aber, dass ich den Konstruktor brauche, da ich mir durch ihn viel Arbeit spare.
Kann man es irgendwie hinkriegen, dass es mit Konstruktor funktioniert?
Gruß