Использование MVC .net Core и создание конкретного класса конфигурации в классе запуска.Мой appsettings.json выглядит следующим образом:
{
"myconfig": {
"other2": "tester,
"other": "tester",
"root": {
"inner": {
"someprop": "TEST VALUE"
}
}
}
}
Я представил это конкретным классом следующим образом:
public class TestConfig
{
public string other2 { get; set; }
public string other { get; set; }
public Inner1 root { get; set; }
}
public class Inner1
{
public Inner2 inner { get; set; }
}
public class Inner2
{
public string someprop { get; set; }
}
И я могу легко сопоставить это, выполнив следующее:
var testConfig = config.GetSection("myconfig").Get<TestConfig>();
Однако .... что мне не нравится в вышесказанном, так это необходимость сделать TestConfig более сложным, чем нужно.В идеале я хотел бы что-то вроде этого:
public class PreciseConfig
{
[Attribute("root:inner:someprop")]
public string someprop { get; set; }
public string other { get; set; }
public string other2 { get; set; }
}
Где мне не нужно размещать вложенные объекты внутри, и я могу напрямую отобразить это свойство на более низкое свойство.Это возможно?Использование .net Core 2.1.
Спасибо за любые указатели заранее!
Ps Я знаю, что могу сам создать экземпляр PreciseConfig и установить свойства, используя config.GetValue<string>("root:inner:someprop")
НО я не хочуЯ должен установить все свои пользовательские настройки таким образом, если я могу сделать их автоматически, используя свойство сериализации или подобное.