Есть проект, который содержит в себе довольно много различных ini
файлов. Я могу с ними работать либо через доступные в WinAPI методы, либо с помощью какой либо библиотеки, но все они подразумевают использование значений из ini
как ini.Read("Cat", "Value");
, что не очень удобно, ибо всегда надо знать точное название переменной и ты от нее в итоге сильно зависишь.
Скажите, есть ли возможность работать с ini
файлом, как с JSON
? То есть создать структуру классов, десериализовать файл в нее и уже в проекте писать ini.Cat.Value
? Может можно сделать какую либо обертку для этого или есть уже готовые решения?
Благодаря наводке @PashaPash я начал пробовать различные библиотеки с GitHub. Предложенные им имели ряд неудобств (например неверная кодировка, или вовсе дублирование значений).
В итоге остановился на данном проекте: Fluffy.INI, который подошел для меня по всем критериям
Пример использования:
Создаем как и в JSON структуру классов:
public class PatchSection
{
public int UseOSAllocators { get; set; }
}
public class TestSection
{
[FluffyComment("Клевый комментарий!")]
public string TestValue { get; set; }
}
public class RootIni
{
public PatchSection Patch { get; set; }
public TestSection Test { get; set; }
}
Дальше как и обычно десериализируем:
var ini = FluffyConverter.DeserializeObject<RootIni>(File.ReadAllText("Test.ini"));
Меняем нужное значение:
ini.Test.TestValue = "Некое значение";
Сериализуем и сохраняем результат:
File.WriteAllText(iniFile, FluffyConverter.SerializeObject(ini));
Результатом будет ini файл со всем нам необходимым:
[Patch]
UseOSAllocators=1
[Test]
# Клевый комментарий!
TestValue=Некое значение
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
http://prntscrcom/oqvhki - Вот типы в БД Как отметить в БД ID чтобы гуид кушал его как верный тип?
Опубликовал приложение на Linux UbuntuПриложение работает нормально
когда в terminal пишу команду dotnet new mvc создается mvc ,а потом когда запускаю dotnet run и перехожу на localhost:5000 включается вот такая страница , почему?раньше...