Protocol buffers 如何在不引用protobuf-net的情况下使C#类protobuf-net可序列化?
首先,我非常喜欢protobuf网络,因为它的速度和易用性。 现在我正在开发一个.NET类库,并希望在不实际引用它的情况下使我的一些类protobuf NET就绪,因为:Protocol buffers 如何在不引用protobuf-net的情况下使C#类protobuf-net可序列化?,protocol-buffers,protobuf-net,Protocol Buffers,Protobuf Net,首先,我非常喜欢protobuf网络,因为它的速度和易用性。 现在我正在开发一个.NET类库,并希望在不实际引用它的情况下使我的一些类protobuf NET就绪,因为: 我不知道我的客户将使用哪个环境,所以我不知道选择哪个protobuf网络二进制文件 我希望最小化封装外形的大小(也许它们根本不需要序列化) 据我所知,这可以通过手动编写.proto文件来完成。谁能给我解释一下或者给我一个链接怎么做?有没有办法从属性描述生成.proto文件?客户端序列化/反序列化代码是什么样子的 据我所知,这可
[ProtoContract]
public class Foo {
[ProtoMember(1)]
public int Bar {get;set;}
// ...
}
有两个选项可供您选择:
[DataContract]
public class Foo {
[DataMember(Order=1)]
public int Bar {get;set;}
// ...
}
或
Foo
之前):
(当然,后者仍然要求您在某个时候与ProtoBuf
交谈,但并不要求您的POCO类型了解序列化)[ProtoContract]
public class Foo {
[ProtoMember(1)]
public int Bar {get;set;}
// ...
}
有两个选项可供您选择:
[DataContract]
public class Foo {
[DataMember(Order=1)]
public int Bar {get;set;}
// ...
}
或
Foo
之前):
(当然,后者仍然要求您在某个时候与ProtoBuf
交谈,但并不要求您的POCO类型了解序列化)这两种方法都应该有效。谢谢你的回答!但现在我有另一个问题:我的类型很不幸地看起来像列表:(所以我需要“IgnoreListHandling=true”,而且似乎我无法使用DataContract属性。谢谢你的回答!但是现在我有另一个问题:我的类型很不幸地看起来像列表:(所以我需要“IgnoreListHandling=true”,并且似乎我不能使用DataContract属性。