public static MethodCallExpression GetSelectNew <TSource>(this Expression expression, ParameterExpression selectorParameter, List <MemberDetails> memberDetails) where TSource : class
 {
     return(expression.GetSelectMethodExpression <TSource>
            (
                memberDetails,
                selectorParameter,
                AnonymousTypeFactory.CreateAnonymousType(memberDetails)
            ));
 }
 public static MethodCallExpression GetSelectNew(this Expression expression, Type sourceType, ParameterExpression selectorParameter, List <MemberDetails> memberDetails)
 {
     return(expression.GetSelectMethodExpression
            (
                sourceType,
                memberDetails,
                selectorParameter,
                AnonymousTypeFactory.CreateAnonymousType(memberDetails)
            ));
 }