Example #1
0
 public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result)
 {
     if (data != null)
     {
         if (data.ContainsKey(binder.Name))
         {
             result = data[binder.Name];
             if (result is Dictionary <string, object> )
             {
                 result = new JsonData(result as Dictionary <string, object>);
             }
             else if (result is System.Collections.ArrayList)
             {
                 result = new JsonData(result as System.Collections.ArrayList);
             }
             return(true);
         }
         else
         {
             result = data.GetType().InvokeMember(binder.Name, System.Reflection.BindingFlags.GetProperty, null, data, null);
             return(true);
         }
     }
     else
     {
         result = list.GetType().InvokeMember(binder.Name, System.Reflection.BindingFlags.GetProperty, null, list, null);
         return(true);
     }
 }