dzieje z moim dążeniu do zginać protobuf netto do własnej woli ..Ograniczenie dziedziczenie „drzewo” protobuf netto
Widziałem kilka pytań wokół SO, w jaki sposób dodać podklasy dynamicznie dla serializer, aby móc kodować podklasę, np. this lub this
Moja sytuacja jest nieco inna, mam klasę podstawową, która może zostać poddana podklasie w kodowaniu późno-ograniczonym, i chcę serializować jest klasą BASE i całkowicie ignoruje pola/właściwości podklasy.
Powodem, dla którego tego potrzebuję, jest to, że później, gdy deserializuję dane, kod podklasy nie będzie nawet dostępny, więc skonstruowanie podklasy nie będzie nawet możliwe.
Czy istnieje sposób ograniczenia/zakazu serialiowania podklas?
W moim przypadku mam listę, w której niektóre pozycje na liście to DerivedClass.
Chciałbym znaleźć sposób, aby protobuf netto serializacji wszystko jako klasy bazowej i deserializacji do klasy bazowej, jak również ...
Próbowałem zaglądając do kodu, ale nie znalazłem czegoś zbyt użyteczny .
Lekki powiew mówisz? ;) Myślę, że włamie się do źródła Coe, ale dzięki za propozycję – damageboy
@damageboy jeśli chcesz dodać do tego jakiś niestandardowy mechanizm, warto przyjrzeć się 'TypeModel.ResolveProxies'. Nie jestem przeciwny dodawaniu tutaj specyficznego API protobuf-net. –
Tak więc jesteśmy tutaj jasne ... Powodem, dla którego kierujesz mnie do ResolveProxies jest to, że jest wywoływany z ThrowUnexpectedSubtype jako ostateczność przed wyrzuceniem wyjątku? – damageboy