public static void Load(this IJSettings obj) { if (File.Exists(obj._FileName("json"))) { string jsonstring = null; try { jsonstring = File.ReadAllText(obj._FileName("json")); } catch (Exception) { return; } JObject jObject = JsonConvert.DeserializeObject <JObject>(jsonstring); foreach (var item in obj.GetType().GetProperties()) { if (item.CanWriteAndRead() && item.GetCustomAttribute <JsonIgnoreAttribute>() == null) { try { item.SetValue(jObject[item.Name], obj); } catch (Exception) { } } } } obj.OnSettingsInitialized(); }
public static void Save(this IJSettings obj) { if (!Directory.Exists(Path.GetDirectoryName(obj._FileName("json")))) { Directory.CreateDirectory(obj._DisplayName); } string jsonstring = JsonConvert.SerializeObject(obj, Formatting.Indented); File.WriteAllText(obj._FileName("json"), jsonstring); }