public string this[string name] { get { string value; if (_values.TryGetValue(name, out value)) return value; return null; } set { if (value != null) { _values[name] = value; } else if (_values.ContainsKey(name)) { _values.Remove(name); } } }