Я хотел бы, чтобы XML сериализовал объект, у которого есть (среди прочих) свойство типа IModelObject (который является интерфейсом).
public class Example
{
public IModelObject Model { get; set; }
}
Когда я пытаюсь сериализовать объект этого класса, я получаю следующую ошибку:
" Невозможно выполнить сериализацию элемента Example.Model типа Пример, потому что это интерфейс".
Я понимаю, что проблема в том, что интерфейс не может быть сериализован. Однако конкретный тип объекта модели неизвестен до времени выполнения.
Замена интерфейса IModelObject абстрактным или конкретным типом и использование наследования с XMLInclude возможно, но похоже на уродливое обходное решение.
Любые предложения?