首先,对不起,如果这已在其他地方回答;我环顾四周,但是我在这个主题上发现的几个主题和页面让我感到困惑,因为我对序列化相当陌生。 我正在制作一个C#应用程序,我希望能够通过Internet发送功能。在Google快速搜索之后,我遇到了序列化。我试图用下列方法对我的方法进行序列化和反序列化:C# - 序列化和反序列化方法
public static string ObjectToString(object obj)
{
using (MemoryStream ms = new MemoryStream())
{
new BinaryFormatter().Serialize(ms, obj);
return Convert.ToBase64String(ms.ToArray());
}
}
public static object StringToObject(string base64String)
{
byte[] bytes = Convert.FromBase64String(base64String);
using (MemoryStream ms = new MemoryStream(bytes, 0, bytes.Length))
{
ms.Write(bytes, 0, bytes.Length);
ms.Position = 0;
return new BinaryFormatter().Deserialize(ms);
}
}
但试图转换为字符串时会引发异常。我加了[Serializable()]
它,然后这个方法什么都没做。
经过一些Google搜索之后,我发现在C#中,您无法使用默认方法执行此操作。那么是否有可能做到这一点,如果没有,是否有任何可行的方法来通过TcpClient发送方法? 对不起,这是一个愚蠢的问题。
由于提前,
马修
分布式计算的第一条规则:不要分发你的对象http://martinfowler.com/bliki/FirstLaw.html –