public override bool TrySetMember(SetMemberBinder binder, object value)
{
var memberName = binder.Name;
if (value is ElasticExpandoObject)
{
var eobj=value as ElasticExpandoObject;
eobj.parent = this;
if (!elements.Contains(eobj))
this.elements.Add(eobj);
}
else
{
if (!attributes.ContainsKey(memberName))
{
attributes[memberName] = new ElasticExpandoObject(value, this, memberName);
}
else
{
attributes[memberName].InternalValue = value;
}
}
OnPropertyChanged(memberName);
return true;
}