Этот метод принимает в качестве последнего аргумента целое число, но я не уверен, что понимаю, что я буду использовать его точно.Что такое аргумент protobuf-net SerializeWithLengthPrefix для?
Serializer.SerializeWithLengthPrefix(stream, object, PrefixStyle.Base128, [tag]);
То же самое относится к соответствующему методу десериализации.
Это всего лишь способ пометить сообщения, чтобы добавить какие-либо «запросы» к десериализации, чтобы отфильтровывать нежелательные сообщения или использовать какие-либо другие способы использования?
Почему включение тега делает его действительным сообщением protobuf? Нельзя ли десериализовать отдельные элементы в списке без тега? – Simone
Кроме того, тип разрешения с использованием тега должен выполняться кодом приложения, правильно? – Simone
@Simone делает сообщение * composite * действительным protobuf, потому что 'repeat MessageType' (in .proto) кодируется как последовательность« [tag] [length] [полезная нагрузка] ... [tag] [length] [ полезная нагрузка]». Следовательно, с тегом это действительный protobuf, и без: это не так. Re type resolution; обычно да, поскольку он намеренно независим от платформы; однако protobuf-net также включает некоторую * дополнительную * поддержку для включения некоторых данных ограниченного типа в провод. –