Sono nuovo per i buffer del protocollo e sto usando protobuf-net per VS2010. da quello che sto leggendo qui Dictionary in protocol buffers, non sembra che protobuf possa serializzare un dizionario con tipi di oggetto come valori. ma qui sul suo sito ho letto questo:Buffer di protocollo C# .net - supporto protobuf-net per serializzare il dizionario dei valori degli oggetti?
Note sui tipi
supportati:
classi personalizzate che: sono contrassegnati come dati-contratto ha un costruttore senza parametri per Silverlight: sono pubblici molti comuni primitive ecc matrici a singola dimensione: T [] Lista/IList Dizionario/IDictionary qualsiasi tipo che implementa IEnumerable e ha un metodo Add (T) Il codice assume che i tipi saranno mutabili attorno ai membri eletti. Di conseguenza, le strutture personalizzate non sono supportate, poiché dovrebbero essere immutabili.
che sembra supportato.
posso compilare correttamente un elenco di oggetti in questo modo:
message ValuesObject {
optional int32 SomeVal = 1;
repeated SomeClass ListOfSomeClassTypes = 2;
}
Questo funziona bene per un List<SomeClass>
. Perché non posso serializzare usando protobuf-net a Dictionary<int, SomeClass>
? Come apparirebbe il messaggio per serializzare uno Dictionary<int, SomeClass>
?