public static async Task CreateFile(string fileName, Type type, ConfigType configType) { var fileInfo = new FileInfo($"{Path}/{fileName}"); await CreateDir(fileInfo.Directory); if (!fileInfo.Exists) { var instance = Activator.CreateInstance(type); if (configType == ConfigType.JSON) { JsonLoader.SaveJson(fileName, instance, type); } else { await TomlLoader.SaveToml(fileName, instance); } } }
public void Save() { lock (_lockOnly) { for (var i = 0; i < _configs.Count; i++) { var(key, value) = _configs.ElementAt(i); var target = value.Target; var fullName = $"{key}Config.{value.Type.ToString().ToLower()}"; if (value.Type == ConfigType.JSON) { JsonLoader.SaveJson(fullName, target, target.GetType()); } else { TomlLoader.SaveToml(fullName, target).ConfigureAwait(false); } } } }