public object this[string key]
{
get
{
object result;
_values.TryGetValue(key, out result);
return DynamicDictionary.Wrap(result);
}
set
{
if (!_oldValues.ContainsKey(key))
{
object oldValue;
_values.TryGetValue(key, out oldValue);
_oldValues[key] = oldValue;
}
_values[key] = value;
}
}