Settings 2.0
csharp
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;
        }
    }
}