У меня есть следующие классы:Модели связывание с наследуемым классом
public abstract class InputVariableVm
{
public InputVariableVmType Type { get; set; }
}
[KnownType(typeof(BoolInputVariableVm))]
public class BoolInputVariableVm : InputVariableVm
{
public bool Value { get; set; }
public BoolInputVariableVm(string name, bool value)
{
Value = value;
Type = InputVariableVmType.Bool;
}
}
[KnownType(typeof(StringInputVariableVm))]
public class StringInputVariableVm : InputVariableVm
{
public string Value { get; set; }
public StringInputVariableVm(string name, string value)
{
Value = value;
Type = InputVariableVmType.String;
}
}
В моем контроллере Web API, я пытаюсь привязать к объекту InputVariableVm (строка или Bool).
Однако объект всегда имеет значение null - но когда я удаляю «абстрактное» ключевое слово из базового класса, он вставляет базовый класс (но без конкретной реализации, поэтому отсутствует свойство Value).
Что может быть причиной этого?
Кстати, я хорошо знаю, что для написания пользовательского связующего будет решить эту проблему, но я хотел бы избежать этого, если это возможно.
Я вижу. Спасибо за ответ, хотя :) – JensOlsen112