[英]C# Protobuf, submitting generic type information
我想使用Protobuf序列化C#对象,通过网络发送它们,并在“另一端”反序列化它们。
因此,客户A具有例如以下代码:
Serializer.Serialize<ClassA>(stream, instance);
现在,我也希望能够传输类型信息为“ ClassA”。 在接收方,客户B必须致电:
ClassA instance = Serializer.Deserialize<ClassA>(stream);
是否有一种优雅的方法可以直接传输通用类型信息? 我唯一想到的另一种方法是定义一个巨大的枚举,其中包含可以序列化的所有类型,并将此信息与ClassA的实际实例放到包装器类中。
提示或可能的解决方案非常感谢!
Json.Net可以将对象序列化为json,如果您提供正确的提示,它将通过另一端发送反序列化所需的二进制信息。
如果您在此处查看示例: http : //www.newtonsoft.com/json/help/html/SerializeTypeNameHandling.htm
他们使用列表,其中T是通用参数。 因此,在您的情况下,T可能是其他东西,但是原理是相同的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.