F
Fabian
I want to serialize a large tree structure of different objects to a xml
file. To get a loose coupling design some classes have interface members. At
runtime I get an InvalidOperationException: Cannot serialize member XYZ
because it is an interface.
To boil the thing down to a test example:
public interface IProblematicMember
{
}
public class ProblematicMember: IProblematicMember
{
}
public class DoesNotSerialize
{
private IProblematicMember problematicMember;
public IProblematicMember ProblematicMember
{
get { return problematicMember; }
set { problematicMember = value; }
}
}
class Program
{
static void Main(string[] args)
{
DoesNotSerialize dns = new DoesNotSerialize();
XmlSerializer mySerializer = new
XmlSerializer(typeof(DoesNotSerialize));
StreamWriter myWriter = new StreamWriter("myFileName.xml");
mySerializer.Serialize(myWriter, dns);
myWriter.Close();
}
}
Is there any possibility to solve this, e.g. by implementing the
serialization by hand?
Thanks for your help,
Fabian
file. To get a loose coupling design some classes have interface members. At
runtime I get an InvalidOperationException: Cannot serialize member XYZ
because it is an interface.
To boil the thing down to a test example:
public interface IProblematicMember
{
}
public class ProblematicMember: IProblematicMember
{
}
public class DoesNotSerialize
{
private IProblematicMember problematicMember;
public IProblematicMember ProblematicMember
{
get { return problematicMember; }
set { problematicMember = value; }
}
}
class Program
{
static void Main(string[] args)
{
DoesNotSerialize dns = new DoesNotSerialize();
XmlSerializer mySerializer = new
XmlSerializer(typeof(DoesNotSerialize));
StreamWriter myWriter = new StreamWriter("myFileName.xml");
mySerializer.Serialize(myWriter, dns);
myWriter.Close();
}
}
Is there any possibility to solve this, e.g. by implementing the
serialization by hand?
Thanks for your help,
Fabian