CerealBox.DynamicJson.TryGetMember C# (CSharp) Method

TryGetMember() public method

public TryGetMember ( GetMemberBinder binder, object &result ) : bool
binder System.Dynamic.GetMemberBinder
result object
return bool
        public override bool TryGetMember(GetMemberBinder binder, out object result)
        {
            result = null;
            if (jsonObject.All(x => x.Key.ToDynamicCompatableString() != binder.Name))
                return true;

            var value = jsonObject.Single(x => x.Key.ToDynamicCompatableString() == binder.Name).Value;
            if (value.StartsWith("[{\"") && value.EndsWith("}]"))
                result = JsonArrayObjects.Parse(value).Select(x => new DynamicJson(x)).ToArray();
            else
                result = new DynamicJson(value, binder.Name);

            return true;
        }