public virtual ParameterExpression GetParameterExpression(ParameterExpressionNode node) { if(node == null) throw new ArgumentNullException("node"); var key = node.Type.Name + Environment.NewLine + node.Name; return _parameterExpressions.GetOrAdd(key, k => Expression.Parameter(node.Type.ToType(this), node.Name)); }
protected override Expression VisitParameter(ParameterExpression node) { var parameterExpression = new ParameterExpressionNode(node.Name, node.Type, node.IsByRef); AddChild(parameterExpression); return(node); }
public virtual ParameterExpression GetParameterExpression(ParameterExpressionNode node) { if (node == null) { throw new ArgumentNullException("node"); } var key = node.Type.Name + Environment.NewLine + node.Name; return(_parameterExpressions.GetOrAdd(key, k => Expression.Parameter(node.Type.ToType(this), node.Name))); }