PowerAssert.Infrastructure.ExpressionParser.GetParamName C# (CSharp) Method

GetParamName() private method

private GetParamName ( System.Linq.Expressions.ParameterExpression e ) : string
e System.Linq.Expressions.ParameterExpression
return string
        string GetParamName(ParameterExpression e)
        {
            if (!e.Name.StartsWith("<>"))
            {
                return e.Name;
            }
            string name;
            if (!_paramNameMap.TryGetValue(e.Name, out name))
            {
                name = "$" + _nextParamIndex.ToString();
                _nextParamIndex++;
                _paramNameMap[e.Name] = name;
            }
            return name;
        }

Usage Example

        Node ParseExpression(LambdaExpression e)
        {
            var    parser = new ExpressionParser(e.Body, textOnly: true, baseParamIndex: _nextParamIndex, testClass: TestClass);
            string parameters;

            if (e.Parameters.Count == 0)
            {
                parameters = "()";
            }
            else if (e.Parameters.Count == 1)
            {
                parameters = parser.GetParamName(e.Parameters[0]);
            }
            else
            {
                parameters = "(" + string.Join(", ", e.Parameters.Select(GetParamName)) + ")";
            }
            return(new BinaryNode
            {
                Operator = "=>",
                Left = new ConstantNode {
                    Text = parameters
                },
                Right = parser.Parse(),
            });
        }
All Usage Examples Of PowerAssert.Infrastructure.ExpressionParser::GetParamName