我想用 XML 序列化一个对象,该对象具有(除其他外) IModelObject类型的属性(这是一个接口)。
public class Example
{
public IModelObject Model { get; set; }
}
当我尝试序列化这个类的一个对象时,会收到以下错误:
“因为它是一个接口,所以无法序列化成员 Example.Model 类型 Example.Model。”
我知道问题在于接口不能被序列化。但是,具体的 模特对象类型在运行时之前是未知的。
用抽象或具体的类型替换 IModelObject接口并用 XMLinclude 使用继承是可能的,但似乎是一个难看的解决方案。
有什么建议吗?