public static bool RequiresParameter(Expression node) { RequiresParameterVisitor visitor = new RequiresParameterVisitor(); visitor.Visit(node); return(visitor.result); }
public override Expression Visit(Expression node) { if (!RequiresParameterVisitor.RequiresParameter(node)) { Expression <Func <object> > funct = () => new object(); funct = Expression.Lambda <Func <object> >(Expression.Convert(node, typeof(object)), funct.Parameters); object res = funct.Compile()(); return(ConstantExpression.Constant(res, node.Type)); } return(base.Visit(node)); }