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
精彩评论