几天前,我已经问了question有关对象序列化的问题,答案是否正常,实际上它仍然有效。但不知怎的,我已将序列化函数复制到另一个类但不适合这里,我不知道为什么。
调用目标抛出了异常。
内部异常:提供了无效的参数。
Client.cs
public class Client
{
private string username;
public string Username
{
get { return username; }
set { username = value; }
}
private TcpClient tclient;
public TcpClient tClient
{
get { return tclient; }
set { tclient = value; }
}
public Client()
{}
public string Serialize(object obj)
{
var serializer = new JavaScriptSerializer();
return serializer.Serialize(obj);
}
public object Deserialize(string json)
{
var serializer = new JavaScriptSerializer();
return serializer.Deserialize<object>(json);
}
}
有什么想法吗?
答案 0 :(得分:0)
由于TcpClient类不是可序列化的类,因此您无法简单地对其进行序列化。但正如您所见here它有一个构造函数(string:server,int:port),因此您可以将这些字段添加到您的类中,然后在反序列化后再次创建它。
Ps:有趣的是,我是回答你上一个问题的人,我们又来了。