Google协议缓冲区 - 序列化为字节数组

时间:2017-01-19 18:53:50

标签: c# serialization memorystream protocol-buffers

我正在按照教程使用Google协议缓冲区进行C#。我没有看到将对象转换为字节数组的示例 - 有谁知道如何做到这一点?我已经使用protoc编译器自动生成了一个FilePath类,到目前为止已经这样了:

FilePath fp = new FilePath
{
    Path = "TestPath",
    RealTimeMultiple = 5.0f
};

所以,我需要知道如何在不使用BinaryFormatter的情况下正确序列化fp对象。

1 个答案:

答案 0 :(得分:15)

假设您正在使用Google.Protobuf nuget包,您可以使用:

using Google.Protobuf;

...

byte[] bytes = fp.ToByteArray();

您需要using的{​​{1}}指令才能使IMessage.ToByteArray扩展方法可用 - 这可能是您之前缺少的。