序列化"调用目标抛出了异常。"

时间:2017-08-08 10:55:23

标签: c# serialization

几天前,我已经问了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);
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

由于TcpClient类不是可序列化的类,因此您无法简单地对其进行序列化。但正如您所见here它有一个构造函数(string:server,int:port),因此您可以将这些字段添加到您的类中,然后在反序列化后再次创建它。

Ps:有趣的是,我是回答你上一个问题的人,我们又来了。