Serializować tak by nie powstała nowa instancja klasy

0

Cześć,

Generalnie serializacja sprowadza się do zapisaniu stanu klasy, tak by możliwe było jej późniejsze odtworzenie. Klasę która zserializowałem nazwijmy: CExample.

Zastanawiam się, czy można wykonać deserializację tej klasy, do istniejącej już instancji? Nie chcę tworzyć nowej instancji, ponieważ przekazałem do niej już np. delegaty, a chcę jedynie uzupełnić dane z właściwości.

Czy takie rozwiązanie dopuszcza .Net Framework?

0

jakiego silnika serializacji uzywasz? zwyklej wewnatrz-.net-owej czy jakiejs devxpress do sql/xml czy czego?

ogolnie warto przeczytac http://msdn.microsoft.com/en-us/library/ty01x675(VS.71).aspx i okoliczne
wszystko sie sprowadza do faktu, ze w serializowanym obiekcie odpala sie GetSeria... a w deserializowanym -- deserializacje odpala konstruktor. Ale -- jesli bylbys w stanie 'przechwycic' serializationinfo tego nowego obiektu zamin .net utworzy nowa instancje - to rownie dobrze moglbys owo serializationinfo przekazac do jakiejs metody istniejacego obiektu i go w oparciu o nia przekonfigurowac.... tylko jak zlapac owe serializationinfo? podejrzewam ze sie nie da - na to wskazuje konstruktor(seriainfo) - za pewne .net poporstu przez reflection tworzy w ciemno instancje typu o danej nazwie i podaje mu w ciemno za paramy ctora takie argumenty.. ---patrz komentarz dotyczacy nieistniejcego 'SetObjectData'

zwaz, ze serializacja to cos innego niz zapisywanie konfiguracji i kieruje sie innymi pobudkami. serializacja ma na celu przechowac obiekt na np. dysku i_jednoczesnie_wywalic_z_pamieci

  • zeby potem 'przeniesc' ten obiekt na np. inny komputer
0

Dane do uzupełnienia umieść w osobnej klasie i ją serializuj.

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