public JObject ToJObject() { JObject data = new JObject(); var items = typeof(ConfigFileData).GetFields() .ToList(); foreach (var item in items) { ConfigFileType type = (ConfigFileType)item.GetValue(this.config); data[type.GetName()] = (JToken)type.GetDynamic(); } return(data); }
public ConfigFileData Parse(JObject obj) { ConfigFileData data = new ConfigFileData(); var items = typeof(ConfigFileData).GetFields() .ToList(); foreach (var item in items) { ConfigFileType type = (ConfigFileType)item.GetValue(new ConfigFileData()); type.Data = obj.Value(type.Name); if (JValue.CreateNull().Equals(type.Data)) { type.Data = null; } item.SetValue(data, type); } return(data); }