几天前,我问了一个关于对象序列化的问题,答案运行良好,实际上它仍然有效。但不知何故,我已经将序列化函数复制到另一个类,但不适合这里,我不知道为什么。
调用目标已引发异常。
内部异常:提供了无效的参数。
客户端.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);
}
}
有什么想法吗?
由于 TcpClient 类不是可序列化的类,因此不能简单地序列化它。但正如你在这里看到的,它有一个构造函数,带有(字符串:服务器,int:port(,所以你可以将这些字段添加到你的类中,然后在反序列化后你可以再次创建它。
Ps:有趣的是,我是回答你之前问题的人,我们又来了。