using System.Configuration;
using System.Windows;
namespace net_state
{
internal class Setting
{
public enum AKeys
{
Login,
Password,
Token
}
static string customConfigPath = @"C:\Users\Documents\myCustomConfig.config";
public static void WSetting(AKeys key, string value)
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = customConfigPath;
// Открываем конфигурацию по указанному пути
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
// Работаем с секциями и настройками
// Обратите внимание на передачу правильного ключа и значения
if (config.AppSettings.Settings[key.ToString()] == null)
{
config.AppSettings.Settings.Add(key.ToString(), value);
}
else
{
config.AppSettings.Settings[key.ToString()].Value = value;
}
// Сохраняем изменения
config.Save(ConfigurationSaveMode.Modified);
// Обновляем кэшированную копию секции
ConfigurationManager.RefreshSection("appSettings");
}
public static string RSetting(AKeys key)
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = customConfigPath;
// Открытие конфигурации по указанному пути
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
// Читаем значение по ключу
string settingValue = config.AppSettings.Settings[key.ToString()]?.Value ?? "";
return settingValue;
}
}
}