public override bool TryGetMember(GetMemberBinder binder, out object result) { var elements = xElement.Elements() .Where(e => e.Name == XName.Get(binder.Name, xElement.Name.NamespaceName)) .Select(e => new DynamicElement(e)); if (elements.Count() == 0) { var attributes = xElement.Attributes().Where(a=>a.Name == XName.Get(binder.Name)) .DefaultIfEmpty(null) .SingleOrDefault(); if (attributes == null) { result = new DynamicConverter(); } else { result = new DynamicAttribute(attributes); } } else { result = new DynamicConverter(elements); } return true; }
public override bool TryGetMember(GetMemberBinder binder, out object result) { result = new DynamicConverter(); return true; }