public override bool TryGetMember(GetMemberBinder binder, out object result)
{
if (attributes.ContainsKey(binder.Name))
{
result = attributes[binder.Name].value;
}
else
{
var obj = elements.FirstOrDefault(item => item.InternalName == binder.Name);
if (obj != null)
{
result = obj;
}
else
{
var exp = new ElasticExpandoObject(null, this, binder.Name);
elements.Add(exp);
result = exp;
}
}
return true;
}