#c# #.net #asp.net-core
Вопрос:
Я работаю над настройкой поставщика конфигурации в памяти. И для этого сначала я должен иметь возможность конвертировать вложенные настройки в разделенные двоеточием ключи и значения, чтобы я мог прочитать их с помощью IConfigurationRoot. Итак, есть ли расширение или что-то, что я могу использовать для автоматического преобразования любого объекта, скажем
public class Person{
public string Name {get; set;}
public Contact Contact {get; set;}
}
public class Contact{
public string Email {get; set;}
public string Phone {get; set;}
}
в следующий формат
Dictionary<string, string> settings = new Dictionary<string, string>();
settings.Add("Person:Name", "Jack");
settings.Add("Person:Contact:Email", "jack@gmail.com");
Комментарии:
1.
settings.Add("Person:Gender", 1);
не может быть присвоеноDictionary<string, string>
. 1 — это не строка. Кроме того, вам необходимо рассмотреть случаи, когда вложенный объект является либо массивом, либо коллекцией. Каким должен быть ожидаемый результат в случае сбора или массива?2. @Navjot Сингх Спасибо, что связался. Да, я исправлю это, я просто пытался привести пример. Ожидаемые объекты-это объекты, похожие на то, что мы можем найти в файле appsettings.json.