Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. var stuff = JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");
  2.  
  3. ParameterExpression parameterExpression = Expression.Parameter(typeof(JObject), "g");
  4. var indexexpr = Expression.MakeIndex(parameterExpression, typeof(JObject).GetProperty("Item", new[] { typeof(string) }),
  5. new[] { Expression.Constant("Address") });
  6. var secondlevel = Expression.MakeIndex(indexexpr, typeof(JToken).GetProperty("Item", new[] { typeof(string) }),
  7. new[] { Expression.Constant("State") });
  8.  
  9. var conversion = Expression.Convert(secondlevel, typeof(string));
  10.  
  11.  
  12. var result = Expression.Equal(conversion, Expression.Constant("NY"));
  13.  
  14. var fun =Expression.Lambda<Func<JObject, bool>>(result, new[] {parameterExpression}).Compile();
  15. var istrue = fun(stuff);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement