private static void GetSelection(IFilterData data, out ParameterExpression parameterExp, out Expression propertyExp) { var childTree = FilterDataHelper.CreateChildTree(data); var parentData = GetParent(childTree); parameterExp = Expression.Variable(parentData.PropertyType); propertyExp = CreatePropertyOrSelect(childTree, parameterExp, data); }
private static void CreateParameters(IFilterData data, object value, out ParameterExpression parameterExp, out ConstantExpression constExp, out Expression propertyExp) { var childTree = FilterDataHelper.CreateChildTree(data); var parentData = GetParent(childTree); parameterExp = Expression.Variable(parentData.PropertyType); constExp = Expression.Constant(value); propertyExp = CreatePropertyExp(childTree, parameterExp); }