Hallo,
ich habe folgendes Probelm. Vielleicht kann mir jemand weiterhlefen.
Es existieren:
-
Basisklasse x, implmementiert ISerializable.
-
10 Klassen a-j die von x abgeleitet sind.
-
Kontainer-Klasse die eine Liste von x (List) enthält.
a-j haben jeweils einen leeren Konstruktorpublic a/J(string name, int nummer) : base(name, nummer)
der ausschließlich den Konstruktor der Basisklasse
public x(string name, int nummer)
aufruft.
Die Kontainer-Objekte können nun (binär) serialsiert und deserialisiert werden. Das funktioniert problemlos.
Jetzt wurden die genannten Klassen um einen string erweitert, der in jedem Konstruktor erwartet wird und in x gespeichert wird
x(string name, int nummer, string neu) und entsprechend
a/j(string name, int nummer, string neu):base(name, nummer, neu)
.
Seit dem funktioniert das Deserialisieren nicht mehr. Serialisieren geht, beim Deserialisieren bekomme ich folgende Fehlermeldung:
„Der für die Deserialiserung eines Objekts mit dem Typ x erforderliche Konstruktor wurde nicht gefunden“.
Wenn ich jetzt in jeder Klasse a-j ISerializable implementiere gehts wieder. Allerdings will ich das nicht, denn schließlich hat es ja auch auch zuvor geklappt. Warum jetzt nicht mehr?
Freut mich wenn mir jemand antworten kann!
Grüße und Danke,
Klaus