Webservice 无法序列化,因为它没有无参数构造函数 [英] Webservice cannot be serialized because it does not have a parameterless constructor
本文介绍了Webservice 无法序列化,因为它没有无参数构造函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个我编辑过的网络服务,之前它没有问题.但是现在我收到此错误:无法序列化,因为它没有我在下面发布了我的类的无参数构造函数.
I have a webservice which I have edited, before it worked without a problem. however right now im getting this error: cannot be serialized because it does not have a parameterless constructor I have posted my class below.
public class Class
{
public class AnsweredQ
{
public string Question { get; set; }
public string Answer { get; set; }
public AnsweredQ(string _Question, string _Answer)
{
Question = _Question;
Answer = _Answer;
}
}
public class UnAnsweredQ
{
public string Question { get; set; }
public string[] Options { get; set; }
public UnAnsweredQ(string _Question, string[] _Options)
{
Question = _Question;
Options = _Options;
}
}
public class Trial
{
public string User { get; set; }
public DateTime TrialDate { get; set; }
public bool Expired { get; set; }
public Trial (string _User, DateTime _TrialDate, bool _Expired)
{
User = _User;
TrialDate = _TrialDate;
Expired = _Expired;
}
}
}
如果你能解决这个问题,请解释我做错了什么:)
if you can solve this please explain what i did wrong :)
推荐答案
为了能够序列化/反序列化一个类,序列化器需要一个无参数的构造函数.因此,您需要将无参数构造函数添加到您的类中,即:
To be able to serialize / deserialize a class, the serializer requires a parameterless constructor. So, you need to add the parameterless constructors to your classes, i.e.:
public class AnsweredQ
{
public string Question { get; set; }
public string Answer { get; set; }
public AnsweredQ() { }
public AnsweredQ(string _Question, string _Answer)
{
Question = _Question;
Answer = _Answer;
}
}
public class UnAnsweredQ
{
public string Question { get; set; }
public string[] Options { get; set; }
public UnAnsweredQ() {}
public UnAnsweredQ(string _Question, string[] _Options)
{
Question = _Question;
Options = _Options;
}
}
public class Trial
{
public string User { get; set; }
public DateTime TrialDate { get; set; }
public bool Expired { get; set; }
public Trial ()
{
}
public Trial (string _User, DateTime _TrialDate, bool _Expired)
{
User = _User;
TrialDate = _TrialDate;
Expired = _Expired;
}
}
}
这篇关于Webservice 无法序列化,因为它没有无参数构造函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文