首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从TcpClient序列化对象流中转换不同的对象?

从TcpClient序列化对象流中转换不同的对象?
EN

Stack Overflow用户
提问于 2011-08-04 02:39:16
回答 1查看 207关注 0票数 1

我将通过序列化和通过TcpClient发送,在服务器/客户机应用程序之间发送不同的对象类型。当我对流进行反序列化时,如何最好地获得正确的类型?

大多数对象的大小都小于100字节,但有时可能高达几十万字节。对于这种情况,将只有5-10个潜在的类别类型要传输。

我想我可以对不同的类型进行一系列的Try-Catch,看看什么能成功。虽然我正在考虑在流的开头创建一个固定的字段,它有一个代码,可以用来通过select语句“手动”标识类型。

请在这里评论什么可能是一个合适的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-04 02:50:23

我假设对象已经正确地反序列化了。我会使用一个大的if对象是then类型...否则..。

代码语言:javascript
复制
object deserializedObject = Deserialize(....);
if (deserializedObject is string)
    ProcessString ((string)deserializedObject);
else if (deserializedObject is byte[])
    ProcessBytes ((byte[])deserializedObject);
else if (deserializedObject is Uri)
    ProcessUri ((Uri)deserializedObject);
else
    throwOrLog (deserializedObject);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6931501

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档