public override string ToString() { List <string> configString = new List <string>(); foreach (var token in RequiredConfigTokens) { configString.Add(token.Key + ": " + (UserConfig.ContainsKey(token.Key) ? UserConfig[token.Key].ToString() : token.Value.DefaultValue == null ? "" : token.Value.DefaultValue)); } foreach (var token in OptionalConfigTokens) { configString.Add(token.Key + ": " + (UserConfig.ContainsKey(token.Key) ? UserConfig[token.Key].ToString() : token.Value.DefaultValue == null ? "" : token.Value.DefaultValue)); } return(string.Join('\n', configString)); }