Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");
string connectionString = appSettings.Settings["SqlConnectionString"].Value;
MyAppSettings myAppSettings = new MyAppSettings (connectionString);
<StartupFolders>
<Folders>
<Folder folderType = "A" path="c:\foo" />
<Folder folderType = "B" path="C:\foo1" />
</Folders>
</StartupFolders>
class StartupFolders
{
public Folders Folders { get; set; }
}
class Folders
{
public List<Folders> Folders { get; set; }
}
class Folder
{
public string FolderType { get; set; }
public string Path { get; set; }
}
StartupFolders startupFolders= (dynamic)ConfigurationManager.GetSection("StartupFolders");
… а теперь, значит, вы хотите переименовать свойство Folders.Folders в Folders.NewFolders, но не хотите трогать конфигурационные файлы (т.е., в них элемент так и должен остаться Folders). И как это сделать?
[PropertyMapping("Folders ")]
public List<Folders> NewFolders { get; set; }
string[] items = input.Split(';');
List<string> result = new List<string>();
result.AddRange(items);
return result;
return input.Split(';').ToList();
<items>
<clear />
<add name="Item 1" />
<add name="Item 2" />
</items>
<DatabaseSettings ConnectionString=#{CurrentConnectionString}/>
SmtpSettings smtpSettings = (dynamic)ConfigurationManager.GetSection(«SmtpSettings»)особенно доставляет dynamic и (на внимательность) «StmpSettings».
А если создается что-то новое, более-менее часто, то как скопировав tt в новый проект, у вас уже все сгенерированно.
Надо сгенерировать mock config для тестов — поменяли пару строчек в шаблоне и он вам тестовые классы сделал.
Ну и самое главное, это не единичный шаблон, а часть общей системы которая позволяет автоматизировать рутинные части.
Чтение конфигурационных файлов без проблем