5
要使用protobuf-net序列化一個類,您需要提供類和屬性的屬性[ProtoContract]和[ProtoMember(n)] - 其中n是1,2,3,...,等等在Protobuf-net中,是否可以序列化非裝飾類?
Appart從克隆到類的鏡像,是否可以序列化/反序列化一個我們無法控制的類?
例如:
使用ProtoBuf;
- Serializer.Serialize <異常>(OutputStream,exception);
或
- Serializer.Serialize <元組<數據,異常> >(OutputStream中,dataWithPossibleException);
NB。說數據有[ProtoContract]/[ProtoMember],其他則沒有。
可能的方法:
- 這將是很好,如果我們有這樣的工作就像擴展方法「擴展屬性」。 [不可能]
- 本地複製類,然後序列化/反序列化之前,從對象複製到/ [,將工作,但工作效率下降]
- 爲類生成外部原型文件/定義和存儲這資源? [人知道如何去嗎?]
感謝您預測此需求!現在我選擇了代理選項,因爲我反編譯了這些小框架類並將它們放入我的程序集中。大多數情況下,我試圖堅持POCO,所以像這樣的一次性並不是什麼大不了的事情。我會檢查出新版本2的選項。 – sgtz
@sgtz SetSurrogate方法應該使這個更直接方便 –
btw:我有一個稍微老一點的v2版本。所以,我打擊更新svn,現在我可以序列化/反序列化<元組<數據,異常>>。另外,我必須刪除+ readd protobuf-net二進制文件。不知道這是關於什麼,但它現在工作很好。感謝您將此項目公開......並且也感謝Google。我應該提到,在這一點上,我仍然*使用我的Tuple副本,而不是System命名空間中的那個。 – sgtz