2010-05-01 126 views
3

我是新來的系列化,我不能爲我的生活弄清楚如何解決這個異常我正在......序列化對象

我有具有以下結構的對象

[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類型的作業類型,它工作正常...

任何想法?

回答

0

嘗試增加:

public interface IJob : ISerializable 
+0

我想,但我仍然得到同樣的錯誤;-( – 2010-05-01 06:47:53

2

你不能序列化的接口。序列化程序將如何知道將使用哪種類型?你只是說有一個接口。