返回XML序列化数据的最佳数据类型

| 我正在创建一个通用的Android到C#tcp堆栈。在C#端,我想实现一个称为ITcpSerializable的接口。 然后,该序列化的结果将通过我的tcp连接作为原始xml发送。 当前的定义是这样的。
public interface ITcpSerializable
{
    StringBuilder Serialize();
}
但是,我想知道的是,对于类似the1ѭ这样的方法,最好的返回类型是什么,当您期望在某些情况下数据集可能会很大时。 对于这种方法,返回类型似乎有很多选择。流,文本阅读器,xmldocument,甚至甚至是byte []等...什么是最好的? PS:我意识到这有点主观,但确实需要一些建议。     
已邀请:
如果您正在开发供第三方使用的组件,则最好坚持使用.NET的序列化模式,有关此文章,请参见google。 我相信答案将是返回byte [],但是如果您阅读文章,也许您会学到更多有关模式的知识。 如果您正在为自己发展,请坚持为自己工作。     
由于您正在谈论TCP,因此我将使用Stream模式而不是返回类型-即
void Read(Stream source);
void Write(Stream destination);
这样就与格式无关。但是,对于“关注点分离”,我宁愿使用一个独立的序列化程序而不是也了解序列化的对象……要么是做一个对象模型,要么是要知道如何做一个对象模型。序列化事物;很少两者兼有。 就个人而言,我会在套接字上使用比XML更密集的内容;我对protobuf有非常强烈的倾向(但是作为实现者(protobuf-net),我有偏见)。     

要回复问题请先登录注册