Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Google Protocol Buffers - serialize to byte array

I'm following the tutorial for using Google Protocol Buffers for C#. I don't see an example for converting an object into a byte array - does anyone know how to do that? I've auto-generated a FilePath classes using the protoc compiler and have this so far:

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

So, I need to know how to properly serialize the fp object without the use of BinaryFormatter.

like image 456
Roka545 Avatar asked Jan 19 '17 18:01

Roka545


1 Answers

Assuming you're using the Google.Protobuf nuget package, you can just use:

using Google.Protobuf;

...

byte[] bytes = fp.ToByteArray();

You need the using directive for Google.Protobuf to make the IMessage.ToByteArray extension method available - that may be what you were missing before.

like image 172
Jon Skeet Avatar answered Sep 21 '22 15:09

Jon Skeet