Il est possible de sérialiser seulement quelques propriétés de la classe? ex:Protobuf-net - Sérialiser seulement quelques propriétés
public class Client
{
[ProtoMember(1)]
public int Id { get; set; }
[ProtoMember(2)]
public string Name { get; set; }
public int Age { get; set; }
[ProtoMember(3)]
public string Guid { get; set; }
}
Ainsi, je reçois la valeur incorrecte "Id". Les autres propriétés sont correctes. Si je le remplis avec "[ProtoMember]" toutes les propriétés, la valeur de "id" est correcte. Pourquoi?
En fait, l'erreur est due à d'autres raisons pour lesquelles vous pourriez m'aider.
Je convertis String en Stream pour effectuer des tâches. Dans le temps d'inverser cette conversion, j'ai erreur dans la valeur de Id
var cli = new Client
{ Id = 222, Guid = "52369-fe5r6-74e2g-j1i4e", Age = 29, Name = "José"};
//Serialize
var ms = new MemoryStream();
Serializer.Serialize(ms, cli);
ms.Position = 0;
var reader = new StreamReader(ms);
var strStream = reader.ReadToEnd();
//Deserialize
var ms2 = new MemoryStream(Encoding.UTF8.GetBytes(strStream));
var obj = Serializer.Deserialize<Client>(ms2);
Ainsi, toute valeur supérieure à 127, est converti en un Int différent. Ex: 3104751
Ma conversion est incorrecte? Observez: Je suis désolé le pauvre anglais
(je suis l'auteur de protobuf-net) la catégorie écrit est bien (tant que vous ajoutez '[ProtoContract]', comme suggéré par Alfonso). S'il vous plaît clarifier ce que vous entendez par "la valeur de" Id "incorrect" - que voyez-vous? –
(ajouté une réponse à votre édition) –