public void AddSetting(List<string> keys, string value) { if (keys.Count == 0) { _leaf = value; } else { if (_leaf != null || _array != null) throw new ArgumentException("Attempt to overwrite setting"); var key = keys.First(); if (!_branches.ContainsKey(key)) _branches[key] = new HeaderSettingsNode(); var remainingKeys = keys.Skip(1).ToList(); _branches[key].AddSetting(remainingKeys, value); } }
public Header() { _settings = new HeaderSettingsNode(); }