[C#] ładowanie nieznanych klas

0

Witam!

Mam pewien problem: załóżmy ze mamy aplikację klienta i aplikację serwera.
U klienta (za pomocą wzorca Strategii) mamy interfejs implementowany na kilka sposobów.
Na serwerze mamy TYLKO interfejs(BEZ konkretnych implementacji).
Problem jest taki: chcemy u klienta zserializowac obiekt tej konkretnej implementacji i przeslac go na serwer gdzie zostanie zdeserializowany i użyty. Tylko jakim mechanizmem mogę tego dokonać bez znajomości konkretnych implementacji na serwerze ?
z góry dzięki za odpowiedzi.

0

Aby lepiej to opisac, chodzi o mechanizm który umożliwiłby zserializowanie KLASY i jej odtworzenie, a nie tylko obiektu

0

Aby zdeserializować obiekt, kompilator musi wiedziec w co go zdeserializować (musi posiadać typ w assembly), oczywiście można trochę to obejść i wcisnąć mu na siłę jakiś inny typ implementujący dany interfejs.
Ale przesyłanie klas? Możesz przesyłać tekst a potem w locie dokompilować sobie typ uzywając klas kompilatora :) ale pomysł jest dosyć egzotyczny... zaprawdę

0

Można też przesyłać object i dobrać się do jego właściwości przez refleksję.

0

Serializacja polega na tym, że znasz typy, a kopiujesz tylko pola/właściwości - a nie implementację metod. To co chcesz uzyskać nie da się zrobić za pomocą serializacji jaką znasz z .NET.

0
somekind napisał(a)

Można też przesyłać object i dobrać się do jego właściwości przez refleksję.

Nie, to że ja nie widze konkretnego typu, nie znaczy ze kompilator moze go nie znać. Po obydwu stronach musi być znany dany typ.

0

Faktycznie, pomerdało mi się. Miałem na myśli nie serializację tylko opakowanie w object.

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