У меня есть несколько DTO с одним из родителей.У этого родителя есть универсальный метод для создания любого его потомка (использует отражение).Каждый из этих DTO имеет конфигурацию (словарь).Я могу передать словарь через параметры в методе создания, но каждый дочерний тип имеет одинаковую конфигурацию, поэтому я хотел бы сделать его статическим и хранить в дочерних.Я обнаружил здесь: Доступ к статическому свойству потомка в родительском методе , что это может быть неисправный дизайн.Это в моем случае?Нужно ли передавать конфигурацию через параметр или, возможно, сохранять ее где-то еще?
Пример:
public class Parrent
{
public static T Create<T>(string[] fields, Dictionary<string, bool> config)
where T : Parrent
{
var result = Activator.CreateInstance<T>();
// filling fields using config
return result
}
}
РЕДАКТИРОВАТЬ:
Вот как работает конфигурация:
public class Child1 : Parrent
{
public string Child1String;
public DateTime Child1DateTime;
}
public class Child2 : Parrent
{
public int Child2Int;
public string Child2String;
public TimeSpan Child2TimeSpan;
}
и словарь (в нем указано, какие поля я могу игнорировать (например, потому что они будут пустыми), и он задан в классе обработки из файла конфигурации):
- Child1:
"Child1String": true,
"Child1DateTime": true,
- Child2
"Child2Int": true,
"Child2String": false,
"Child2TimeSpan": true,