Questo metodo accetta come ultimo argomento un numero intero, ma non sono sicuro di capire cosa lo utilizzerei esattamente.Per che cosa è l'argomento tag protobuf-net SerializeWithLengthPrefix?
Serializer.SerializeWithLengthPrefix(stream, object, PrefixStyle.Base128, [tag]);
Lo stesso vale per il metodo di deserializzazione corrispondente.
È solo un modo per taggare i messaggi per aggiungere una sorta di funzionalità di "interrogazione" sulla deserializzazione per filtrare i messaggi indesiderati o ha altri usi?
Perché l'inclusione del tag lo rende un messaggio protobuf valido? Non puoi deserializzare singoli elementi in una lista senza il tag? – Simone
Inoltre, la risoluzione del tipo tramite tag deve essere eseguita dal codice dell'applicazione, giusto? – Simone
@Simone rende il messaggio * composite * un protobuf valido, perché 'MessageType ripetuto' (in .proto) è codificato come una sequenza di" [tag] [lunghezza] [carico utile] ... [tag] [lunghezza] [ carico utile]". Quindi con il tag è un protobuf valido, e senza: non lo è. Re tipo di risoluzione; normalmente sì, poiché è intenzionalmente indipendente dalla piattaforma; tuttavia, protobuf-net include anche un supporto * aggiuntivo * per includere alcune informazioni di tipo limitato sul filo. –