4

Protobuf-Net を使用してビルトイン システム クラスの一部をシリアル化/逆シリアル化する方法について、誰かに例を挙げたり、リソースを教えてもらえますか?

具体的には、基本例外クラスとそれを継承する他のすべての例外クラスをシリアル化/逆シリアル化しようとしています。シリアル化する必要がある可能性のあるすべての例外クラスを指定する新しい RunTypeModel を作成する必要がありますか、それとも、Protobuf-Net に、すべてをリストせずにすべて同じ方法でシリアル化するように指示できますか?

私は Protobuf-Net の初心者であり、まだすべてを理解しようとしているので、どんな助けも大歓迎です。

4

2 に答える 2

4

protobuf-net は、DTO モデルをシリアル化するように設計されていますが、例外はありません。XmlSerializer などと非常によく似ています (ただし、明らかに xml ではなくバイナリです)。例外のシリアル化は現在組み込まれていません。いくつかのことをハッキングできる可能性がありますが、これは実際には設計された機能ではありません。

于 2012-04-19T21:52:24.360 に答える
0

次のようなクラスをシリアライズすることは本当にできません

public class MyTest
{
    [ProtoMember(1)]
    public Exception MyException { get; set; }
}

ただし、小さな変更を行うと、シリアル化が可能になります

public class MyTest
{
    [ProtoMember(1, DynamicType = true)]
    public Object MyException { get; set; }
}

これは、例外をシリアル化する唯一の方法でした。

于 2013-05-09T13:36:08.323 に答える