3

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?

3 Answers 3

2

There is a little trick You might give a try :

Serializing an interface

Sign up to request clarification or add additional context in comments.

Comments

2

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

Comments

0

Try adding:

public interface IJob : ISerializable

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.