只能序列化该类的几个属性是可能的吗? 例如:Protobuf-net - 仅序列化几个属性
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; }
}
因此,我得到的 “ID” 的值不正确。其他属性是正确的。 如果我用“[ProtoMember]”填充所有属性,“id”的值是正确的。 为什么?
其实这个错误是由其他原因引起的,您可能可以帮助我。
我将String转换为Stream来执行任务。在时间扭转这种转换我在标识
的值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);
因此,上文127的任何值,被转换为不同的INT错误。例如:3104751
我的转换是错误的?
对不起:对不起英语差
(我protobuf网的作者),以班级为写得很好(只要你按照alfonso的建议添加'[ProtoContract]')。请澄清你的意思是“Id的值”不正确“ - 你看到了什么? –
(添加一个答案重新编辑) –