我是序列化的新手,我一生都无法弄清楚如何解决此异常。
我有一个具有以下结构的对象
[XmlRoot("MaxCut2")]
public class MaxCut2File : IFile
{
public MaxCut2File()
{
MyJob = new Job();
Job.Reference = "MyRef";
}
[XmlElement("JobDetails", typeof(Job))]
public IJob MyJob
{
get;
set;
}
}
接口...
public interface IJob
{
string Reference { get; set; }
}
还有一堂课
[Serializable()]
public class Job : IJob
{
[XmlElement("Reference")]
public string Reference { get; set; }
}
当我尝试序列化MaxCut2File对象的实例时,出现错误
{“无法序列化类型为“ MaxCut2BL.Interfaces.IJob”的成员'MaxCut2File.MaxCut2File.MyJob',请参阅内部异常以获取更多详细信息。”}
“出现错误,反映了类型'MaxCut2File.MaxCut2File'。”
但是,如果我将属性MyJob从IJob类型更改为Job类型,则可以正常工作...
有任何想法吗?
最佳答案
有一个小技巧,您可以尝试:
Serializing an interface
关于c# - 序列化对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2749103/