У меня есть этот абстрактный класс
public abstract class Rules
{
}
, который я использую для определения правила для конкретных c случаев
public class AttributeView
{
public Rules? ValidationParameter { get; set; }
public DataTypes Type { get; set; }
private Rules? GetValidationType()
{
return Type switch
{
DataTypes.Date => new DateValidation(),
DataTypes.DateTime => new DateTimeValidation(),
_ => null
};
}
}
DataTypes - это перечисление, необходимое для определения правил типа я собираюсь использовать. Все проверочные классы имеют Rules
в качестве базы.
Как я видел выше, пока я знаю Type
- я легко могу определить, к какому конкретному классу следует относить абстрактный класс.
Проблема возникает, когда мне нужно ее вставить?
Учитывая строку JSON - как создать экземпляр класса AttributeView?
"attributes": {
"ValidationParameter": {
int maxYear = 10;
}
"type": 0
}
Я мог бы легко создать конструктор на основе типа
public AttributeView(DataType type)
{
Type = type;
switch (type)
{
case DataType.Date:
ValidationParameter = new DateValidation();
break;
case DataType.DateTime:
ValidationParameter = new DateTimeValidation();
break;
default:
break;
};
}
Но как мне установить значение?