I have structure like this:
public interface A { public void method(); } public class B : A { } public class C : A { } List list;
For your case make an abstract class that implements your interface like:
abstract class Abs : A
and then derive your classes from Abs
public class B : Abs public class C : Abs
and List list;
now use XmlIncludeAttribute to add your types into the XmlSerializer's type array.