I am using xml serialization but now came across a runtime error I haven\'t seen before.
\"To be XML serializable, types which inherit from IEnumera
Because sub classes implicitly implement interface methods because of the base class but xmlserializer is using reflection and that is why you get the error at runtime and not compile time.
Try explicitly implementing and see what happens. I have not had this issue before so I'm not sure why you are unless you're doing something custom.
If you have your sub classes explicitly implementing the interface but not doing any implementation code (letting the implicit implementation of methods happen) then remove the interface from your sub type declaration as it should still be valid due to your base type. (someone tell me if i'm off here)
I've just run into this issue and solved it by adding an add method:
public class EffectOptions : IEnumerable<EffectOption>
{
public List<EffectOption> Options { get; private set; }
public void Add(object o){
this.Options.Add(o as EffectOption); //you may want to extend the code to check that this cast can be made,
//and throw an appropriate error (otherwise it'll add null to your list)
}
//IEnumerable methods
}
I hope this helps.