5

msgpack-cli クイック スタートドキュメントを読みました。

C# (CLI) NuGet パッケージ (v0.3) も入手しました。

公式ドキュメントに記載されているクラス ( BoxingPackerCompiledPackerまたは などObjectPacker) は、NuGet パッケージ (!!) には存在しません。ドキュメントが孤立していると思います。

C#内でMessagePackとの間でシリアル化/逆シリアル化する方法の例はありますか? オブジェクトに対してこれを実行しようとしていますが、シリアライザーのバイナリの性質に興味があります。

4

5 に答える 5

10

将来の読者へ:これらの結果に基づいて、AvroまたはProtocol Buffers、またはThrift over MessagePackを使用します...

特定の質問のために、重要な部分は次のとおりです。

public byte[] Serialize<T>(T thisObj)
{
    var serializer = MessagePackSerializer.Create<T>();

    using (var byteStream = new MemoryStream())
    {
        serializer.Pack(byteStream, thisObj);
        return byteStream.ToArray();
    }
}

public T Deserialize<T>(byte[] bytes)
{
    var serializer = MessagePackSerializer.Create<T>();
    using (var byteStream = new MemoryStream(bytes))
    {
        return serializer.Unpack(byteStream);
    }
}

R&D タイプのプロジェクト全体と結果はhttps://github.com/sidshetye/SerializersCompareにあり、特定の関数呼び出しはhereにあります。

于 2013-12-25T21:25:28.560 に答える
-2

NuGet から MsgPack という名前のパッケージをインストールします。ここで写真を参照してください:

ここに画像の説明を入力

于 2013-10-23T07:10:12.533 に答える