簡體   English   中英

C#Protobuf,提交通用類型信息

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM