public IExpression GetExpression(string name, ExpressionFactoryNameTarget field)
        {
            IExpression expr = this.ExprResolver();

            if (field == ExpressionFactoryNameTarget.ResultName)
            {
                expr.ResultName = name;
            }
            else
            {
                expr.OperatorDefinition = this.OperatorResolver(name);
                if (expr.OperatorDefinition == null)
                {
                    throw new ArgumentOutOfRangeException("name", $"Unsuported operator: {name}");
                }

                expr.ResultName = expr.OperatorDefinition.Name;
            }

            return(expr);
        }
示例#2
0
 /// <summary>
 /// Gets the expression with an assigned field.
 /// </summary>
 /// <param name="name">The value to assign.</param>
 /// <param name="field">The field to assign the value to.</param>
 /// <returns>The expression.</returns>
 public static IExpression GetExpression(string name, ExpressionFactoryNameTarget field)
 {
     return(TestExprFactory._exprFactory.GetExpression(name, field));
 }