序列化"Exception has been thrown by the target of an invocation."



几天前,我问了一个关于对象序列化的问题,答案运行良好,实际上它仍然有效。但不知何故,我已经将序列化函数复制到另一个类,但不适合这里,我不知道为什么。

调用目标已引发异常。

内部异常:提供了无效的参数。

客户端.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:有趣的是,我是回答你之前问题的人,我们又来了。

相关内容

最新更新