/// <summary> /// Создать парсер дефолтных настроек. /// </summary> public static ConfigSettingsParser CreateDefaultConfigSettingsParser() { var configSettingsPath = ChangeConfig.GetActualConfigSettingsPath(); if (string.IsNullOrEmpty(configSettingsPath) || !File.Exists(configSettingsPath)) { return(null); } var lastWriteTime = File.GetLastWriteTimeUtc(configSettingsPath); if (lastWriteTime == configSettingsLastWriteTime) { return(cachedConfigSettingsParser); } configSettingsLastWriteTime = lastWriteTime; try { cachedConfigSettingsParser = ChangeConfig.CreateConfigSettingsParser(configSettingsPath); } catch (Exception) { return(null); } return(cachedConfigSettingsParser); }
/// <summary> /// Сменить имя. /// </summary> /// <param name="resolveForcedAppDataPath">Функция разрешения пути до папки в appdata, когда флаг forceReturnAppDataPath включен.</param> /// <returns>Экземпляр класса. Также создаёт новый конфиг согласно правилам.</returns> public static AppConfig Change(Func <string, string> resolveForcedAppDataPath) { var liveConfigPath = ChangeConfig.Execute(AppConfigFilePath, resolveForcedAppDataPath); return(new ChangeAppConfig(liveConfigPath)); }
/// <summary> /// Сменить имя. /// </summary> /// <returns>Экземпляр класса. Также создаёт новый конфиг согласно правилам.</returns> public static AppConfig Change() { var liveConfigPath = ChangeConfig.Execute(AppConfigFilePath); return(new ChangeAppConfig(liveConfigPath)); }
private static ReloadedConfigSettingsParser CreateParser(Action reloadHandler, Action <Exception> errorHandler, TimeSpan?waitBeforeReload) { var configSettingsPath = ChangeConfig.GetActualConfigSettingsPath(); return(new ReloadedConfigSettingsParser(configSettingsPath, reloadHandler, errorHandler, waitBeforeReload)); }