序列化对象
问题描述:
我是新来的系列化,我不能为我的生活弄清楚如何解决这个异常我正在......序列化对象
我有具有以下结构的对象
[XmlRoot("MaxCut2")]
public class MaxCut2File : IFile
{
public MaxCut2File()
{
MyJob = new Job();
Job.Reference = "MyRef";
}
[XmlElement("JobDetails", typeof(Job))]
public IJob MyJob
{
get;
set;
}
}
的inteferface ...
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类型的作业类型,它工作正常...
任何想法?
答
尝试增加:
public interface IJob : ISerializable
+0
我想,但我仍然得到同样的错误;-( – 2010-05-01 06:47:53
答
你不能序列化的接口。序列化程序将如何知道将使用哪种类型?你只是说有一个接口。
谢谢...这有助于解释... – 2010-05-01 07:03:10