Uniwersalny serializer

0

Mam daną klasę :
public class zap
{
public object alfa;
}
i teraz :
zap naz = new zap();
naz.alfa = new List<object>();
serializer = new System.Xml.Serialization.XmlSerializer(typeof(zap));
serializer.Serialize(strumien, naz);

wyskakuje mi: błąd tworzenia pliku xml .

Czy da się to rozwiązać tak aby działało a jednocześnie zmienna alfa pozostawała uniwersalna ?

Myślałem nad takim sposobem :

serializer = new ....(alfa.getType());
serializer.Serialize(strumien,alfa);
Teraz działa , tyle tylko że ja chcę to mieć wszystko w jednym pliku , a jak zapisze więcej niż jedną zmienną do strumienia to potem deserializacja wywala błąd.

0

Ja wiem jak działa serializator, nie wiem jak sprawić aby można było zserializować np. dwie różne klasy do jednego pliku .

0
StudentX napisał(a)

Ja wiem jak działa serializator, nie wiem jak sprawić aby można było zserializować np. dwie różne klasy do jednego pliku .

Nie chce mi się czytać co wcześniej pisałeś, ale co do tego... Zrób trzecią klasę, ta trzecia będzie zawierać wszystkie twoje zmienne które chcesz zapisać, w tym obiekty twoich pozostałych dwóch klas. Serializuj tą trzecią.

0

ale wtedy serializer nie będzie uniwersalny, z każdą nową klasą będę musiał się cofać i zmieniać tą trzecią.

0

Ok w miare pomogło. Dzięki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1