Esempio n. 1
0
 public override bool TryGetMember(GetMemberBinder binder, out object result)
 {
     result = null;
     if (binder.Name == "Value")
         result = _elements[0].Value;
     else if (binder.Name == "Count")
         result = _elements.Count;
     else
     {
         var attr = _elements[0].Attribute(XName.Get(binder.Name));
         if (attr != null)
             result = attr;
         else
         {
             var items = _elements.Descendants(XName.Get(binder.Name));
             if (items == null || !items.Any()) return false;
             result = new DynamicXml(items);
         }
     }
     return true;
 }
Esempio n. 2
0
 public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out object result)
 {
     int ndx = (int)indexes[0];
     result = new DynamicXml(_elements[ndx]);
     return true;
 }