开发者

Serialize Object

I am new to serialization and I cannot for the life of me figure out how to fix this exception I am getting...

I have an object that has the following structure

[XmlRoot("MaxCut2")]
public class MaxCut2File : IFile
{
    public MaxCut2File()
    {
        MyJob = new Job();
        Job.Reference = "MyRef";
    }

    [XmlElement("JobDetails", typeof(Job))]
    public IJob MyJob
    {
        get;
        set;
    }    
}

An inteferface...

   public interface IJob
    {        
        string Reference { get; set; }
    }

And an class

开发者_运维技巧[Serializable()]
public class Job : IJob
{
    [XmlElement("Reference")]
    public string Reference { get; set; }
}

When I try to serialize an instance of the MaxCut2File object I get an error

{"Cannot serialize member 'MaxCut2File.MaxCut2File.MyJob' of type 'MaxCut2BL.Interfaces.IJob', see inner exception for more details."} "There was an error reflecting type 'MaxCut2File.MaxCut2File'."

However if I change my property MyJob from the IJob type to the Job type it works fine...

Any ideas?


There is a little trick You might give a try :

Serializing an interface


You cannot serialize an interface. How would the serializer know which type will be used? You simply said there's an interface.


Try adding:

public interface IJob : ISerializable
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜