ReadExpression() публичный статический Метод

public static ReadExpression ( Pivots.Pivot>.Dictionary pivotVsPivotValues, GetChoiceDelegate get_choice_fn, string expression ) : PivotsExpression
pivotVsPivotValues Pivots.Pivot>.Dictionary
get_choice_fn GetChoiceDelegate
expression string
Результат PivotsExpression
Пример #1
0
        public string NormalizeExpression(string expression)
        {
            // the non dynamic way.
            var pivotExpression = PivotsExpression.ReadExpression(_pivots, (string item, out string choice, out string name) => {
                Pivot pivot;
                var result = GetChoice(item, out choice, out pivot);
                name       = pivot.Name;
                return(result);
            }, expression);

            return(_normalizedPivots.GetOrAdd(pivotExpression, () => expression));
        }
Пример #2
0
        public string NormalizeExpression(string expression)
        {
#if USE_DYNAMIC_CRAP
            if (Environment.GetEnvironmentVariable("USE_DYNAMIC").IsTrue())
            {
                if (string.IsNullOrEmpty(expression))
                {
                    return(expression);
                }

                /*
                 * if (_canonicalExpressions.Keys.Contains(expression)) {
                 * return expression;
                 * }*/
                foreach (var i in _canonicalExpressions.Keys.ToArray())
                {
                    if (_canonicalExpressions[i].Contains(expression))
                    {
                        return(i);
                    }
                }

                foreach (var i in _canonicalExpressions.Keys.ToArray())
                {
                    if (CompareExpressions(i, expression))
                    {
                        _canonicalExpressions[i].Add(expression);
                        return(i);
                    }
                }
                _canonicalExpressions.GetOrAdd(expression, () => new List <string> {
                    expression
                });
                return(expression);
            }
#endif

            // the non dynamic way.
            var pivotExpression = PivotsExpression.ReadExpression(_pivots, (string item, out string choice, out string name) => {
                Pivot pivot;
                var result = GetChoice(item, out choice, out pivot);
                name       = pivot.Name;
                return(result);
            }, expression);

            return(_normalizedPivots.GetOrAdd(pivotExpression, () => expression));
        }