serializacji klasy z buforów-Net, to neet dostarczenie klasy i atrybutami Właściwość [ProtoContract] i [ProtoMember (n)] -, gdzie n oznacza liczbę 1,2,3, .., itpCzy w Protobuf-net możliwe jest serializowanie nieprzypisanych klas?
Appart od klonowania do lustrzanego odbicia klasy, czy można serializować/deserializować klasę, nad którą nie mamy kontroli?
Na przykład:
przy użyciu ProtoBuf;
- Serializer.Serialize < Wyjątek > (OutputStream, wyjątek)
lub
- Serializer.Serialize < Tuple < danych, wyjątek > > (OutputStream, dataWithPossibleException);
NB. say Dane [ProtoContract]/[ProtoMember] i inne nie.
możliwe podejścia:
- Byłoby miło, gdybyśmy mieli „atrybuty rozszerzenie”, które działały jak metod rozszerzenie. [niemożliwe]
- replikować klasę lokalnie, a następnie kopiować do/z obiektu przed serializowaniem/deserializacją [to by działało, ale wydajność spadnie]
- wygenerować zewnętrzny plik/definicję protokołu dla klasy i zapisać go w zasoby? [Ktoś wie, jak go o to?]
Dzięki za przewidywanie tej potrzeby! Wziąłem teraz opcję zastępczą, ponieważ dekompilowałem małe klasy szkieletowe i umieściłem je w moim zespole. Najczęściej staram się trzymać POCO, więc takie jednorazowe nie jest wielkim problemem. Sprawdzę nowe opcje wersji 2. – sgtz
@ sgtz Metoda SetSurrogate powinna sprawić, że będzie bardziej bezpośrednia i wygodna –
btw: Miałem nieco starszą wersję v2. Więc trafiłem aktualizację na svn, a teraz mogę Serializować/Deserializować>. Musiałem też usunąć + odczytany plik binarny protobuf-net. Nie jestem pewien, o co w tym wszystkim chodzi, ale teraz działa dobrze.Dziękuję za udostępnienie tego projektu ... a także dzięki Google. Powinienem wspomnieć, że w tym momencie * nadal * używam mojej kopii Tuple, a nie tej w przestrzeni nazw Systemu. –
sgtz